mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 07:31:57 +00:00
DOCS-527: system.query_log (#11197)
* DOCSUP-824: query log (#115) * Draft changes. * Next step. * Structure was changed. Missed information was added. * More edits. * Update docs/en/operations/system-tables.md Co-authored-by: BayoNet <da-daos@yandex.ru> * Update docs/en/operations/system-tables.md Co-authored-by: BayoNet <da-daos@yandex.ru> * Update docs/en/operations/system-tables.md Co-authored-by: BayoNet <da-daos@yandex.ru> * Comments editing was done. * Translated to russian. Co-authored-by: Anastasia Uvarova <ana-uvarova@yandex-team.ru> Co-authored-by: AnaUvarova <64017504+AnaUvarova@users.noreply.github.com> * CLICKHOUSEDOCS-527: query_log description. * CLICKHOUSEDOCS-527: Updated structure. * CLICKHOUSEDOCS-527: Fixed links. * Update docs/en/operations/system-tables.md Co-authored-by: Ivan Blinkov <github@blinkov.ru> * Update docs/en/operations/system-tables.md Co-authored-by: Ivan Blinkov <github@blinkov.ru> * Update docs/en/operations/system-tables.md Co-authored-by: Ivan Blinkov <github@blinkov.ru> * Update docs/en/operations/system-tables.md Co-authored-by: Ivan Blinkov <github@blinkov.ru> * Update docs/en/operations/system-tables.md Co-authored-by: Ivan Blinkov <github@blinkov.ru> * Updated by comments. * CLICKHOUSEDOCS-527: Updated by comments . * CLICKHOUSEDOCS-527: Syncronized EN->RU Co-authored-by: Anastasia Uvarova <ana-uvarova@yandex-team.ru> Co-authored-by: AnaUvarova <64017504+AnaUvarova@users.noreply.github.com> Co-authored-by: Sergei Shtykov <bayonet@yandex-team.ru> Co-authored-by: Ivan Blinkov <github@blinkov.ru>
This commit is contained in:
parent
9a34310ead
commit
09369c259c
@ -586,11 +586,11 @@ If the table doesn’t exist, ClickHouse will create it. If the structure of the
|
|||||||
</query_log>
|
</query_log>
|
||||||
```
|
```
|
||||||
|
|
||||||
## query\_thread\_log {#server_configuration_parameters-query-thread-log}
|
## query\_thread\_log {#server_configuration_parameters-query_thread_log}
|
||||||
|
|
||||||
Setting for logging threads of queries received with the [log\_query\_threads=1](../settings/settings.md#settings-log-query-threads) setting.
|
Setting for logging threads of queries received with the [log\_query\_threads=1](../settings/settings.md#settings-log-query-threads) setting.
|
||||||
|
|
||||||
Queries are logged in the [system.query\_thread\_log](../../operations/system-tables.md#system_tables-query-thread-log) table, not in a separate file. You can change the name of the table in the `table` parameter (see below).
|
Queries are logged in the [system.query\_thread\_log](../../operations/system-tables.md#system_tables-query_thread_log) table, not in a separate file. You can change the name of the table in the `table` parameter (see below).
|
||||||
|
|
||||||
Use the following parameters to configure logging:
|
Use the following parameters to configure logging:
|
||||||
|
|
||||||
|
@ -598,7 +598,7 @@ log_queries_min_type='EXCEPTION_WHILE_PROCESSING'
|
|||||||
|
|
||||||
Setting up query threads logging.
|
Setting up query threads logging.
|
||||||
|
|
||||||
Queries’ threads runned by ClickHouse with this setup are logged according to the rules in the [query\_thread\_log](../server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) server configuration parameter.
|
Queries’ threads runned by ClickHouse with this setup are logged according to the rules in the [query\_thread\_log](../server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) server configuration parameter.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ toc_title: System Tables
|
|||||||
|
|
||||||
# System Tables {#system-tables}
|
# System Tables {#system-tables}
|
||||||
|
|
||||||
## Introduction
|
## Introduction {#system-tables-introduction}
|
||||||
|
|
||||||
System tables provide information about:
|
System tables provide information about:
|
||||||
|
|
||||||
@ -18,9 +18,12 @@ System tables:
|
|||||||
- Available only for reading data.
|
- Available only for reading data.
|
||||||
- Can't be dropped or altered, but can be detached.
|
- Can't be dropped or altered, but can be detached.
|
||||||
|
|
||||||
The `metric_log`, `query_log`, `query_thread_log`, `trace_log` system tables store data in a storage filesystem. Other system tables store their data in RAM. ClickHouse server creates such system tables at the start.
|
Most of system tables store their data in RAM. ClickHouse server creates such system tables at the start.
|
||||||
|
|
||||||
### Sources of System Metrics
|
The [metric_log](#system_tables-metric_log), [query_log](#system_tables-query_log), [query_thread_log](#system_tables-query_thread_log), [trace_log](#system_tables-trace_log) system tables store data in a storage filesystem. You can alter them or remove from a disk manually. If you remove one of that tables from a disk, the ClickHouse server creates the table again at the time of the next recording. A storage period for these tables is not limited, and ClickHouse server doesn't delete their data automatically. You need to organize removing of outdated logs by yourself. For example, you can use [TTL](../sql-reference/statements/alter.md#manipulations-with-table-ttl) settings for removing outdated log records.
|
||||||
|
|
||||||
|
|
||||||
|
### Sources of System Metrics {#system-tables-sources-of-system-metrics}
|
||||||
|
|
||||||
For collecting system metrics ClickHouse server uses:
|
For collecting system metrics ClickHouse server uses:
|
||||||
|
|
||||||
@ -587,97 +590,150 @@ Columns:
|
|||||||
- `source_file` (LowCardinality(String)) — Source file from which the logging was done.
|
- `source_file` (LowCardinality(String)) — Source file from which the logging was done.
|
||||||
- `source_line` (UInt64) — Source line from which the logging was done.
|
- `source_line` (UInt64) — Source line from which the logging was done.
|
||||||
|
|
||||||
## system.query\_log {#system_tables-query_log}
|
## system.query_log {#system_tables-query_log}
|
||||||
|
|
||||||
Contains information about execution of queries. For each query, you can see processing start time, duration of processing, error messages and other information.
|
Contains information about executed queries, for example, start time, duration of processing, error messages.
|
||||||
|
|
||||||
!!! note "Note"
|
!!! note "Note"
|
||||||
The table doesn’t contain input data for `INSERT` queries.
|
The table doesn’t contain input data for `INSERT` queries.
|
||||||
|
|
||||||
ClickHouse creates this table only if the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server parameter is specified. This parameter sets the logging rules, such as the logging interval or the name of the table the queries will be logged in.
|
You can change settings of queries logging in the [query_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) section of the server configuration.
|
||||||
|
|
||||||
To enable query logging, set the [log\_queries](settings/settings.md#settings-log-queries) parameter to 1. For details, see the [Settings](settings/settings.md) section.
|
You can disable queries logging by setting [log_queries = 0](settings/settings.md#settings-log-queries). We don't recommend to turn off logging because information in this table is important for solving issues.
|
||||||
|
|
||||||
|
The flushing period of logs is set in `flush_interval_milliseconds` parameter of the [query_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server settings section. To force flushing logs, use the [SYSTEM FLUSH LOGS](../sql-reference/statements/system.md#query_language-system-flush_logs) query.
|
||||||
|
|
||||||
|
ClickHouse doesn't delete logs from the table automatically. See [Introduction](#system-tables-introduction) for more details.
|
||||||
|
|
||||||
The `system.query_log` table registers two kinds of queries:
|
The `system.query_log` table registers two kinds of queries:
|
||||||
|
|
||||||
1. Initial queries that were run directly by the client.
|
1. Initial queries that were run directly by the client.
|
||||||
2. Child queries that were initiated by other queries (for distributed query execution). For these types of queries, information about the parent queries is shown in the `initial_*` columns.
|
2. Child queries that were initiated by other queries (for distributed query execution). For these types of queries, information about the parent queries is shown in the `initial_*` columns.
|
||||||
|
|
||||||
|
Each query creates one or two rows in the `query_log` table, depending on the status (see the `type` column) of the query:
|
||||||
|
|
||||||
|
1. If the query execution was successful, two rows with the `QueryStart` and `QueryFinish` types are created .
|
||||||
|
2. If an error occurred during query processing, two events with the `QueryStart` and `ExceptionWhileProcessing` types are created .
|
||||||
|
3. If an error occurred before launching the query, a single event with the `ExceptionBeforeStart` type is created.
|
||||||
|
|
||||||
Columns:
|
Columns:
|
||||||
|
|
||||||
- `type` (`Enum8`) — Type of event that occurred when executing the query. Values:
|
- `type` ([Enum8](../sql-reference/data-types/enum.md)) — Type of an event that occurred when executing the query. Values:
|
||||||
- `'QueryStart' = 1` — Successful start of query execution.
|
- `'QueryStart' = 1` — Successful start of query execution.
|
||||||
- `'QueryFinish' = 2` — Successful end of query execution.
|
- `'QueryFinish' = 2` — Successful end of query execution.
|
||||||
- `'ExceptionBeforeStart' = 3` — Exception before the start of query execution.
|
- `'ExceptionBeforeStart' = 3` — Exception before the start of query execution.
|
||||||
- `'ExceptionWhileProcessing' = 4` — Exception during the query execution.
|
- `'ExceptionWhileProcessing' = 4` — Exception during the query execution.
|
||||||
- `event_date` (Date) — Query starting date.
|
- `event_date` ([Date](../sql-reference/data-types/date.md)) — Query starting date.
|
||||||
- `event_time` (DateTime) — Query starting time.
|
- `event_time` ([DateTime](../sql-reference/data-types/datetime.md)) — Query starting time.
|
||||||
- `query_start_time` (DateTime) — Start time of query execution.
|
- `query_start_time` ([DateTime](../sql-reference/data-types/datetime.md)) — Start time of query execution.
|
||||||
- `query_duration_ms` (UInt64) — Duration of query execution.
|
- `query_duration_ms` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Duration of query execution in milliseconds.
|
||||||
- `read_rows` (UInt64) — Number of read rows.
|
- `read_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Total number or rows read from all tables and table functions participated in query. It includes usual subqueries, subqueries for `IN` and `JOIN`. For distributed queries `read_rows` includes the total number of rows read at all replicas. Each replica sends it's `read_rows` value, and the server-initiator of the query summarize all received and local values. The cache volumes doesn't affect this value.
|
||||||
- `read_bytes` (UInt64) — Number of read bytes.
|
- `read_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Total number or bytes read from all tables and table functions participated in query. It includes usual subqueries, subqueries for `IN` and `JOIN`. For distributed queries `read_bytes` includes the total number of rows read at all replicas. Each replica sends it's `read_bytes` value, and the server-initiator of the query summarize all received and local values. The cache volumes doesn't affect this value.
|
||||||
- `written_rows` (UInt64) — For `INSERT` queries, the number of written rows. For other queries, the column value is 0.
|
- `written_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — For `INSERT` queries, the number of written rows. For other queries, the column value is 0.
|
||||||
- `written_bytes` (UInt64) — For `INSERT` queries, the number of written bytes. For other queries, the column value is 0.
|
- `written_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — For `INSERT` queries, the number of written bytes. For other queries, the column value is 0.
|
||||||
- `result_rows` (UInt64) — Number of rows in the result.
|
- `result_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Number of rows in a result of the `SELECT` query, or a number of rows in the `INSERT` query.
|
||||||
- `result_bytes` (UInt64) — Number of bytes in the result.
|
- `result_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — RAM volume in bytes used to store a query result.
|
||||||
- `memory_usage` (UInt64) — Memory consumption by the query.
|
- `memory_usage` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Memory consumption by the query.
|
||||||
- `query` (String) — Query string.
|
- `query` ([String](../sql-reference/data-types/string.md)) — Query string.
|
||||||
- `exception` (String) — Exception message.
|
- `exception` ([String](../sql-reference/data-types/string.md)) — Exception message.
|
||||||
- `stack_trace` (String) — Stack trace (a list of methods called before the error occurred). An empty string, if the query is completed successfully.
|
- `exception_code` ([Int32](../sql-reference/data-types/int-uint.md)) — Code of an exception.
|
||||||
- `is_initial_query` (UInt8) — Query type. Possible values:
|
- `stack_trace` ([String](../sql-reference/data-types/string.md)) — [Stack trace](https://en.wikipedia.org/wiki/Stack_trace). An empty string, if the query was completed successfully.
|
||||||
|
- `is_initial_query` ([UInt8](../sql-reference/data-types/int-uint.md)) — Query type. Possible values:
|
||||||
- 1 — Query was initiated by the client.
|
- 1 — Query was initiated by the client.
|
||||||
- 0 — Query was initiated by another query for distributed query execution.
|
- 0 — Query was initiated by another query as part of distributed query execution.
|
||||||
- `user` (String) — Name of the user who initiated the current query.
|
- `user` ([String](../sql-reference/data-types/string.md)) — Name of the user who initiated the current query.
|
||||||
- `query_id` (String) — ID of the query.
|
- `query_id` ([String](../sql-reference/data-types/string.md)) — ID of the query.
|
||||||
- `address` (IPv6) — IP address that was used to make the query.
|
- `address` ([IPv6](../sql-reference/data-types/domains/ipv6.md)) — IP address that was used to make the query.
|
||||||
- `port` (UInt16) — The client port that was used to make the query.
|
- `port` ([UInt16](../sql-reference/data-types/int-uint.md)) — The client port that was used to make the query.
|
||||||
- `initial_user` (String) — Name of the user who ran the initial query (for distributed query execution).
|
- `initial_user` ([String](../sql-reference/data-types/string.md)) — Name of the user who ran the initial query (for distributed query execution).
|
||||||
- `initial_query_id` (String) — ID of the initial query (for distributed query execution).
|
- `initial_query_id` ([String](../sql-reference/data-types/string.md)) — ID of the initial query (for distributed query execution).
|
||||||
- `initial_address` (IPv6) — IP address that the parent query was launched from.
|
- `initial_address` ([IPv6](../sql-reference/data-types/domains/ipv6.md)) — IP address that the parent query was launched from.
|
||||||
- `initial_port` (UInt16) — The client port that was used to make the parent query.
|
- `initial_port` ([UInt16](../sql-reference/data-types/int-uint.md)) — The client port that was used to make the parent query.
|
||||||
- `interface` (UInt8) — Interface that the query was initiated from. Possible values:
|
- `interface` ([UInt8](../sql-reference/data-types/int-uint.md)) — Interface that the query was initiated from. Possible values:
|
||||||
- 1 — TCP.
|
- 1 — TCP.
|
||||||
- 2 — HTTP.
|
- 2 — HTTP.
|
||||||
- `os_user` (String) — OS’s username who runs [clickhouse-client](../interfaces/cli.md).
|
- `os_user` ([String](../sql-reference/data-types/string.md)) — Operating system username who runs [clickhouse-client](../interfaces/cli.md).
|
||||||
- `client_hostname` (String) — Hostname of the client machine where the [clickhouse-client](../interfaces/cli.md) or another TCP client is run.
|
- `client_hostname` ([String](../sql-reference/data-types/string.md)) — Hostname of the client machine where the [clickhouse-client](../interfaces/cli.md) or another TCP client is run.
|
||||||
- `client_name` (String) — The [clickhouse-client](../interfaces/cli.md) or another TCP client name.
|
- `client_name` ([String](../sql-reference/data-types/string.md)) — The [clickhouse-client](../interfaces/cli.md) or another TCP client name.
|
||||||
- `client_revision` (UInt32) — Revision of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
- `client_revision` ([UInt32](../sql-reference/data-types/int-uint.md)) — Revision of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
||||||
- `client_version_major` (UInt32) — Major version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
- `client_version_major` ([UInt32](../sql-reference/data-types/int-uint.md)) — Major version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
||||||
- `client_version_minor` (UInt32) — Minor version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
- `client_version_minor` ([UInt32](../sql-reference/data-types/int-uint.md)) — Minor version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
||||||
- `client_version_patch` (UInt32) — Patch component of the [clickhouse-client](../interfaces/cli.md) or another TCP client version.
|
- `client_version_patch` ([UInt32](../sql-reference/data-types/int-uint.md)) — Patch component of the [clickhouse-client](../interfaces/cli.md) or another TCP client version.
|
||||||
- `http_method` (UInt8) — HTTP method that initiated the query. Possible values:
|
- `http_method` (UInt8) — HTTP method that initiated the query. Possible values:
|
||||||
- 0 — The query was launched from the TCP interface.
|
- 0 — The query was launched from the TCP interface.
|
||||||
- 1 — `GET` method was used.
|
- 1 — `GET` method was used.
|
||||||
- 2 — `POST` method was used.
|
- 2 — `POST` method was used.
|
||||||
- `http_user_agent` (String) — The `UserAgent` header passed in the HTTP request.
|
- `http_user_agent` ([String](../sql-reference/data-types/string.md)) — The `UserAgent` header passed in the HTTP request.
|
||||||
- `quota_key` (String) — The “quota key” specified in the [quotas](quotas.md) setting (see `keyed`).
|
- `quota_key` ([String](../sql-reference/data-types/string.md)) — The “quota key” specified in the [quotas](quotas.md) setting (see `keyed`).
|
||||||
- `revision` (UInt32) — ClickHouse revision.
|
- `revision` ([UInt32](../sql-reference/data-types/int-uint.md)) — ClickHouse revision.
|
||||||
- `thread_numbers` (Array(UInt32)) — Number of threads that are participating in query execution.
|
- `thread_numbers` ([Array(UInt32)](../sql-reference/data-types/array.md)) — Number of threads that are participating in query execution.
|
||||||
- `ProfileEvents.Names` (Array(String)) — Counters that measure different metrics. The description of them could be found in the table [system.events](#system_tables-events)
|
- `ProfileEvents.Names` ([Array(String)](../sql-reference/data-types/array.md)) — Counters that measure different metrics. The description of them could be found in the table [system.events](#system_tables-events)
|
||||||
- `ProfileEvents.Values` (Array(UInt64)) — Values of metrics that are listed in the `ProfileEvents.Names` column.
|
- `ProfileEvents.Values` ([Array(UInt64)](../sql-reference/data-types/array.md)) — Values of metrics that are listed in the `ProfileEvents.Names` column.
|
||||||
- `Settings.Names` (Array(String)) — Names of settings that were changed when the client ran the query. To enable logging changes to settings, set the `log_query_settings` parameter to 1.
|
- `Settings.Names` ([Array(String)](../sql-reference/data-types/array.md)) — Names of settings that were changed when the client ran the query. To enable logging changes to settings, set the `log_query_settings` parameter to 1.
|
||||||
- `Settings.Values` (Array(String)) — Values of settings that are listed in the `Settings.Names` column.
|
- `Settings.Values` ([Array(String)](../sql-reference/data-types/array.md)) — Values of settings that are listed in the `Settings.Names` column.
|
||||||
|
|
||||||
Each query creates one or two rows in the `query_log` table, depending on the status of the query:
|
**Example**
|
||||||
|
|
||||||
1. If the query execution is successful, two events with types 1 and 2 are created (see the `type` column).
|
``` sql
|
||||||
2. If an error occurred during query processing, two events with types 1 and 4 are created.
|
SELECT * FROM system.query_log LIMIT 1 FORMAT Vertical;
|
||||||
3. If an error occurred before launching the query, a single event with type 3 is created.
|
```
|
||||||
|
|
||||||
By default, logs are added to the table at intervals of 7.5 seconds. You can set this interval in the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server setting (see the `flush_interval_milliseconds` parameter). To flush the logs forcibly from the memory buffer into the table, use the `SYSTEM FLUSH LOGS` query.
|
``` text
|
||||||
|
Row 1:
|
||||||
|
──────
|
||||||
|
type: QueryStart
|
||||||
|
event_date: 2020-05-13
|
||||||
|
event_time: 2020-05-13 14:02:28
|
||||||
|
query_start_time: 2020-05-13 14:02:28
|
||||||
|
query_duration_ms: 0
|
||||||
|
read_rows: 0
|
||||||
|
read_bytes: 0
|
||||||
|
written_rows: 0
|
||||||
|
written_bytes: 0
|
||||||
|
result_rows: 0
|
||||||
|
result_bytes: 0
|
||||||
|
memory_usage: 0
|
||||||
|
query: SELECT 1
|
||||||
|
exception_code: 0
|
||||||
|
exception:
|
||||||
|
stack_trace:
|
||||||
|
is_initial_query: 1
|
||||||
|
user: default
|
||||||
|
query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
|
||||||
|
address: ::ffff:127.0.0.1
|
||||||
|
port: 57720
|
||||||
|
initial_user: default
|
||||||
|
initial_query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
|
||||||
|
initial_address: ::ffff:127.0.0.1
|
||||||
|
initial_port: 57720
|
||||||
|
interface: 1
|
||||||
|
os_user: bayonet
|
||||||
|
client_hostname: clickhouse.ru-central1.internal
|
||||||
|
client_name: ClickHouse client
|
||||||
|
client_revision: 54434
|
||||||
|
client_version_major: 20
|
||||||
|
client_version_minor: 4
|
||||||
|
client_version_patch: 1
|
||||||
|
http_method: 0
|
||||||
|
http_user_agent:
|
||||||
|
quota_key:
|
||||||
|
revision: 54434
|
||||||
|
thread_ids: []
|
||||||
|
ProfileEvents.Names: []
|
||||||
|
ProfileEvents.Values: []
|
||||||
|
Settings.Names: ['use_uncompressed_cache','load_balancing','log_queries','max_memory_usage']
|
||||||
|
Settings.Values: ['0','random','1','10000000000']
|
||||||
|
|
||||||
When the table is deleted manually, it will be automatically created on the fly. Note that all the previous logs will be deleted.
|
```
|
||||||
|
**See Also**
|
||||||
|
|
||||||
!!! note "Note"
|
- [system.query_thread_log](#system_tables-query_thread_log) — This table contains information about each query execution thread.
|
||||||
The storage period for logs is unlimited. Logs aren’t automatically deleted from the table. You need to organize the removal of outdated logs yourself.
|
|
||||||
|
|
||||||
You can specify an arbitrary partitioning key for the `system.query_log` table in the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server setting (see the `partition_by` parameter).
|
## system.query_thread_log {#system_tables-query_thread_log}
|
||||||
|
|
||||||
## system.query\_thread\_log {#system_tables-query-thread-log}
|
|
||||||
|
|
||||||
The table contains information about each query execution thread.
|
The table contains information about each query execution thread.
|
||||||
|
|
||||||
ClickHouse creates this table only if the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) server parameter is specified. This parameter sets the logging rules, such as the logging interval or the name of the table the queries will be logged in.
|
ClickHouse creates this table only if the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) server parameter is specified. This parameter sets the logging rules, such as the logging interval or the name of the table the queries will be logged in.
|
||||||
|
|
||||||
To enable query logging, set the [log\_query\_threads](settings/settings.md#settings-log-query-threads) parameter to 1. For details, see the [Settings](settings/settings.md) section.
|
To enable query logging, set the [log\_query\_threads](settings/settings.md#settings-log-query-threads) parameter to 1. For details, see the [Settings](settings/settings.md) section.
|
||||||
|
|
||||||
@ -729,14 +785,14 @@ Columns:
|
|||||||
- `ProfileEvents.Names` (Array(String)) — Counters that measure different metrics for this thread. The description of them could be found in the table [system.events](#system_tables-events)
|
- `ProfileEvents.Names` (Array(String)) — Counters that measure different metrics for this thread. The description of them could be found in the table [system.events](#system_tables-events)
|
||||||
- `ProfileEvents.Values` (Array(UInt64)) — Values of metrics for this thread that are listed in the `ProfileEvents.Names` column.
|
- `ProfileEvents.Values` (Array(UInt64)) — Values of metrics for this thread that are listed in the `ProfileEvents.Names` column.
|
||||||
|
|
||||||
By default, logs are added to the table at intervals of 7.5 seconds. You can set this interval in the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) server setting (see the `flush_interval_milliseconds` parameter). To flush the logs forcibly from the memory buffer into the table, use the `SYSTEM FLUSH LOGS` query.
|
By default, logs are added to the table at intervals of 7.5 seconds. You can set this interval in the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) server setting (see the `flush_interval_milliseconds` parameter). To flush the logs forcibly from the memory buffer into the table, use the `SYSTEM FLUSH LOGS` query.
|
||||||
|
|
||||||
When the table is deleted manually, it will be automatically created on the fly. Note that all the previous logs will be deleted.
|
When the table is deleted manually, it will be automatically created on the fly. Note that all the previous logs will be deleted.
|
||||||
|
|
||||||
!!! note "Note"
|
!!! note "Note"
|
||||||
The storage period for logs is unlimited. Logs aren’t automatically deleted from the table. You need to organize the removal of outdated logs yourself.
|
The storage period for logs is unlimited. Logs aren’t automatically deleted from the table. You need to organize the removal of outdated logs yourself.
|
||||||
|
|
||||||
You can specify an arbitrary partitioning key for the `system.query_thread_log` table in the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) server setting (see the `partition_by` parameter).
|
You can specify an arbitrary partitioning key for the `system.query_thread_log` table in the [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) server setting (see the `partition_by` parameter).
|
||||||
|
|
||||||
## system.trace\_log {#system_tables-trace_log}
|
## system.trace\_log {#system_tables-trace_log}
|
||||||
|
|
||||||
|
@ -574,11 +574,11 @@ ClickHouse проверит условия `min_part_size` и `min_part_size_rat
|
|||||||
</query_log>
|
</query_log>
|
||||||
```
|
```
|
||||||
|
|
||||||
## query\_thread\_log {#server_configuration_parameters-query-thread-log}
|
## query\_thread\_log {#server_configuration_parameters-query_thread_log}
|
||||||
|
|
||||||
Настройка логирования потоков выполнения запросов, принятых с настройкой [log\_query\_threads=1](../settings/settings.md#settings-log-query-threads).
|
Настройка логирования потоков выполнения запросов, принятых с настройкой [log\_query\_threads=1](../settings/settings.md#settings-log-query-threads).
|
||||||
|
|
||||||
Запросы логируются не в отдельный файл, а в системную таблицу [system.query\_thread\_log](../../operations/server-configuration-parameters/settings.md#system_tables-query-thread-log). Вы можете изменить название этой таблицы в параметре `table` (см. ниже).
|
Запросы логируются не в отдельный файл, а в системную таблицу [system.query\_thread\_log](../../operations/server-configuration-parameters/settings.md#system_tables-query_thread_log). Вы можете изменить название этой таблицы в параметре `table` (см. ниже).
|
||||||
|
|
||||||
При настройке логирования используются следующие параметры:
|
При настройке логирования используются следующие параметры:
|
||||||
|
|
||||||
|
@ -536,7 +536,7 @@ log_queries=1
|
|||||||
|
|
||||||
Установка логирования информации о потоках выполнения запроса.
|
Установка логирования информации о потоках выполнения запроса.
|
||||||
|
|
||||||
Лог информации о потоках выполнения запросов, переданных в ClickHouse с этой установкой, записывается согласно правилам конфигурационного параметра сервера [query\_thread\_log](../server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log).
|
Лог информации о потоках выполнения запросов, переданных в ClickHouse с этой установкой, записывается согласно правилам конфигурационного параметра сервера [query\_thread\_log](../server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log).
|
||||||
|
|
||||||
Пример:
|
Пример:
|
||||||
|
|
||||||
|
@ -1,4 +1,7 @@
|
|||||||
# Системные таблицы {#sistemnye-tablitsy}
|
# Системные таблицы {#system-tables}
|
||||||
|
|
||||||
|
|
||||||
|
## Введение {#system-tables-introduction}
|
||||||
|
|
||||||
Системные таблицы используются для реализации части функциональности системы, а также предоставляют доступ к информации о работе системы.
|
Системные таблицы используются для реализации части функциональности системы, а также предоставляют доступ к информации о работе системы.
|
||||||
Вы не можете удалить системную таблицу (хотя можете сделать DETACH).
|
Вы не можете удалить системную таблицу (хотя можете сделать DETACH).
|
||||||
@ -544,182 +547,156 @@ CurrentMetric_ReplicatedChecks: 0
|
|||||||
- `source_file` (LowCardinality(String)) — Исходный файл, из которого была сделана запись.
|
- `source_file` (LowCardinality(String)) — Исходный файл, из которого была сделана запись.
|
||||||
- `source_line` (UInt64) — Исходная строка, из которой была сделана запись.
|
- `source_line` (UInt64) — Исходная строка, из которой была сделана запись.
|
||||||
|
|
||||||
## system.query\_log {#system_tables-query_log}
|
## system.query_log {#system_tables-query_log}
|
||||||
|
|
||||||
Содержит информацию о выполнении запросов. Для каждого запроса вы можете увидеть время начала обработки, продолжительность обработки, сообщения об ошибках и другую информацию.
|
Содержит информацию о выполняемых запросах, например, время начала обработки, продолжительность обработки, сообщения об ошибках.
|
||||||
|
|
||||||
!!! note "Внимание"
|
!!! note "Внимание"
|
||||||
Таблица не содержит входных данных для запросов `INSERT`.
|
Таблица не содержит входных данных для запросов `INSERT`.
|
||||||
|
|
||||||
ClickHouse создаёт таблицу только в том случае, когда установлен конфигурационный параметр сервера [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log). Параметр задаёт правила ведения лога, такие как интервал логирования или имя таблицы, в которую будут логгироваться запросы.
|
Настойки логгирования можно изменить в секции серверной конфигурации [query_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log).
|
||||||
|
|
||||||
Чтобы включить логирование, задайте значение параметра [log\_queries](settings/settings.md#settings-log-queries) равным 1. Подробности смотрите в разделе [Настройки](settings/settings.md#settings).
|
Можно отключить логгирование настройкой [log_queries = 0](settings/settings.md#settings-log-queries). По-возможности, не отключайте логгирование, поскольку информация из таблицы важна при решении проблем.
|
||||||
|
|
||||||
|
Период сброса логов в таблицу задаётся параметром `flush_interval_milliseconds` в конфигурационной секции [query_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log). Чтобы принудительно записать логи из буффера памяти в таблицу, используйте запрос [SYSTEM FLUSH LOGS](../sql-reference/statements/system.md#query_language-system-flush_logs).
|
||||||
|
|
||||||
|
ClickHouse не удаляет логи из таблица автоматически. Смотрите [Введение](#system-tables-introduction).
|
||||||
|
|
||||||
|
Можно указать произвольный ключ партиционирования для таблицы `system.query_log` в конфигурации [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) (параметр `partition_by`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Если таблицу удалить вручную, она создается заново автоматически «на лету». При этом все логи на момент удаления таблицы будут убраны.
|
||||||
|
|
||||||
Таблица `system.query_log` содержит информацию о двух видах запросов:
|
Таблица `system.query_log` содержит информацию о двух видах запросов:
|
||||||
|
|
||||||
1. Первоначальные запросы, которые были выполнены непосредственно клиентом.
|
1. Первоначальные запросы, которые были выполнены непосредственно клиентом.
|
||||||
2. Дочерние запросы, инициированные другими запросами (для выполнения распределенных запросов). Для дочерних запросов информация о первоначальном запросе содержится в столбцах `initial_*`.
|
2. Дочерние запросы, инициированные другими запросами (для выполнения распределенных запросов). Для дочерних запросов информация о первоначальном запросе содержится в столбцах `initial_*`.
|
||||||
|
|
||||||
|
В зависимости от статуса (столбец `type`) каждый запрос создаёт одну или две строки в таблице `query_log`:
|
||||||
|
|
||||||
|
1. Если запрос выполнен успешно, создаются два события типа `QueryStart` и `QueryFinish`.
|
||||||
|
2. Если во время обработки запроса возникла ошибка, создаются два события с типами `QueryStart` и `ExceptionWhileProcessing`.
|
||||||
|
3. Если ошибка произошла ещё до запуска запроса, создается одно событие с типом `ExceptionBeforeStart`.
|
||||||
|
|
||||||
Столбцы:
|
Столбцы:
|
||||||
|
|
||||||
- `type` (`Enum8`) — тип события, произошедшего при выполнении запроса. Значения:
|
- `type` ([Enum8](../sql-reference/data-types/enum.md)) — тип события, произошедшего при выполнении запроса. Значения:
|
||||||
- `'QueryStart' = 1` — успешное начало выполнения запроса.
|
- `'QueryStart' = 1` — успешное начало выполнения запроса.
|
||||||
- `'QueryFinish' = 2` — успешное завершение выполнения запроса.
|
- `'QueryFinish' = 2` — успешное завершение выполнения запроса.
|
||||||
- `'ExceptionBeforeStart' = 3` — исключение перед началом обработки запроса.
|
- `'ExceptionBeforeStart' = 3` — исключение перед началом обработки запроса.
|
||||||
- `'ExceptionWhileProcessing' = 4` — исключение во время обработки запроса.
|
- `'ExceptionWhileProcessing' = 4` — исключение во время обработки запроса.
|
||||||
- `event_date` (Date) — дата начала запроса.
|
- `event_date` ([Date](../sql-reference/data-types/date.md)) — дата начала запроса.
|
||||||
- `event_time` (DateTime) — время начала запроса.
|
- `event_time` ([DateTime](../sql-reference/data-types/datetime.md)) — время начала запроса.
|
||||||
- `query_start_time` (DateTime) — время начала обработки запроса.
|
- `query_start_time` ([DateTime](../sql-reference/data-types/datetime.md)) — время начала обработки запроса.
|
||||||
- `query_duration_ms` (UInt64) — длительность обработки запроса.
|
- `query_duration_ms` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — длительность выполнения запроса в миллисекундах.
|
||||||
- `read_rows` (UInt64) — количество прочитанных строк.
|
- `read_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Общее количество строк, считанных из всех таблиц и табличных функций, участвующих в запросе. Включает в себя обычные подзапросы, подзапросы для `IN` и `JOIN`. Для распределенных запросов `read_rows` включает в себя общее количество строк, прочитанных на всех репликах. Каждая реплика передает собственное значение `read_rows`, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объемы кэша не учитываюся.
|
||||||
- `read_bytes` (UInt64) — количество прочитанных байтов.
|
- `read_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — Общее количество байтов, считанных из всех таблиц и табличных функций, участвующих в запросе. Включает в себя обычные подзапросы, подзапросы для `IN` и `JOIN`. Для распределенных запросов `read_bytes` включает в себя общее количество байтов, прочитанных на всех репликах. Каждая реплика передает собственное значение `read_bytes`, а сервер-инициатор запроса суммирует все полученные и локальные значения. Объемы кэша не учитываюся.
|
||||||
- `written_rows` (UInt64) — количество записанных строк для запросов `INSERT`. Для других запросов, значение столбца 0.
|
- `written_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — количество записанных строк для запросов `INSERT`. Для других запросов, значение столбца 0.
|
||||||
- `written_bytes` (UInt64) — объём записанных данных в байтах для запросов `INSERT`. Для других запросов, значение столбца 0.
|
- `written_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — объём записанных данных в байтах для запросов `INSERT`. Для других запросов, значение столбца 0.
|
||||||
- `result_rows` (UInt64) — количество строк в результате.
|
- `result_rows` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — количество строк в результате запроса `SELECT` или количество строк в запросе `INSERT`.
|
||||||
- `result_bytes` (UInt64) — объём результата в байтах.
|
- `result_bytes` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — объём RAM в байтах, использованный для хранения результата запроса.
|
||||||
- `memory_usage` (UInt64) — потребление RAM запросом.
|
- `memory_usage` ([UInt64](../sql-reference/data-types/int-uint.md#uint-ranges)) — потребление RAM запросом.
|
||||||
- `query` (String) — текст запроса.
|
- `query` ([String](../sql-reference/data-types/string.md)) — текст запроса.
|
||||||
- `exception` (String) — сообщение исключения, если запрос завершился по исключению.
|
- `exception` ([String](../sql-reference/data-types/string.md)) — сообщение исключения, если запрос завершился по исключению.
|
||||||
- `stack_trace` (String) — трассировка (список функций, последовательно вызванных перед ошибкой). Пустая строка, если запрос успешно завершен.
|
- `exception_code` ([Int32](../sql-reference/data-types/int-uint.md)) — код исключения.
|
||||||
- `is_initial_query` (UInt8) — вид запроса. Возможные значения:
|
- `stack_trace` ([String](../sql-reference/data-types/string.md)) — [stack trace](https://en.wikipedia.org/wiki/Stack_trace). Пустая строка, если запрос успешно завершен.
|
||||||
|
- `is_initial_query` ([UInt8](../sql-reference/data-types/int-uint.md)) — вид запроса. Возможные значения:
|
||||||
- 1 — запрос был инициирован клиентом.
|
- 1 — запрос был инициирован клиентом.
|
||||||
- 0 — запрос был инициирован другим запросом при распределенном запросе.
|
- 0 — запрос был инициирован другим запросом при выполнении распределенного запроса.
|
||||||
- `user` (String) — пользователь, запустивший текущий запрос.
|
- `user` ([String](../sql-reference/data-types/string.md)) — пользователь, запустивший текущий запрос.
|
||||||
- `query_id` (String) — ID запроса.
|
- `query_id` ([String](../sql-reference/data-types/string.md)) — ID запроса.
|
||||||
- `address` (IPv6) — IP адрес, с которого пришел запрос.
|
- `address` ([IPv6](../sql-reference/data-types/domains/ipv6.md)) — IP адрес, с которого пришел запрос.
|
||||||
- `port` (UInt16) — порт, с которого клиент сделал запрос
|
- `port` ([UInt16](../sql-reference/data-types/int-uint.md)) — порт, с которого клиент сделал запрос
|
||||||
- `initial_user` (String) — пользователь, запустивший первоначальный запрос (для распределенных запросов).
|
- `initial_user` ([String](../sql-reference/data-types/string.md)) — пользователь, запустивший первоначальный запрос (для распределенных запросов).
|
||||||
- `initial_query_id` (String) — ID родительского запроса.
|
- `initial_query_id` ([String](../sql-reference/data-types/string.md)) — ID родительского запроса.
|
||||||
- `initial_address` (IPv6) — IP адрес, с которого пришел родительский запрос.
|
- `initial_address` ([IPv6](../sql-reference/data-types/domains/ipv6.md)) — IP адрес, с которого пришел родительский запрос.
|
||||||
- `initial_port` (UInt16) — порт, с которого клиент сделал родительский запрос.
|
- `initial_port` ([UInt16](../sql-reference/data-types/int-uint.md)) — порт, с которого клиент сделал родительский запрос.
|
||||||
- `interface` (UInt8) — интерфейс, с которого ушёл запрос. Возможные значения:
|
- `interface` ([UInt8](../sql-reference/data-types/int-uint.md)) — интерфейс, с которого ушёл запрос. Возможные значения:
|
||||||
- 1 — TCP.
|
- 1 — TCP.
|
||||||
- 2 — HTTP.
|
- 2 — HTTP.
|
||||||
- `os_user` (String) — имя пользователя в OS, который запустил [clickhouse-client](../interfaces/cli.md).
|
- `os_user` ([String](../sql-reference/data-types/string.md)) — имя пользователя операционной системы, который запустил [clickhouse-client](../interfaces/cli.md).
|
||||||
- `client_hostname` (String) — имя сервера, с которого присоединился [clickhouse-client](../interfaces/cli.md) или другой TCP клиент.
|
- `client_hostname` ([String](../sql-reference/data-types/string.md)) — имя сервера, с которого присоединился [clickhouse-client](../interfaces/cli.md) или другой TCP клиент.
|
||||||
- `client_name` (String) — [clickhouse-client](../interfaces/cli.md) или другой TCP клиент.
|
- `client_name` ([String](../sql-reference/data-types/string.md)) — [clickhouse-client](../interfaces/cli.md) или другой TCP клиент.
|
||||||
- `client_revision` (UInt32) — ревизия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
- `client_revision` ([UInt32](../sql-reference/data-types/int-uint.md)) — ревизия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
||||||
- `client_version_major` (UInt32) — старшая версия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
- `client_version_major` ([UInt32](../sql-reference/data-types/int-uint.md)) — старшая версия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
||||||
- `client_version_minor` (UInt32) — младшая версия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
- `client_version_minor` ([UInt32](../sql-reference/data-types/int-uint.md)) — младшая версия [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
||||||
- `client_version_patch` (UInt32) — патч [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
- `client_version_patch` ([UInt32](../sql-reference/data-types/int-uint.md)) — патч [clickhouse-client](../interfaces/cli.md) или другого TCP клиента.
|
||||||
- `http_method` (UInt8) — HTTP метод, инициировавший запрос. Возможные значения:
|
- `http_method` ([UInt8](../sql-reference/data-types/int-uint.md)) — HTTP метод, инициировавший запрос. Возможные значения:
|
||||||
- 0 — запрос запущен с интерфейса TCP.
|
- 0 — запрос запущен с интерфейса TCP.
|
||||||
- 1 — `GET`.
|
- 1 — `GET`.
|
||||||
- 2 — `POST`.
|
- 2 — `POST`.
|
||||||
- `http_user_agent` (String) — HTTP заголовок `UserAgent`.
|
- `http_user_agent` ([String](../sql-reference/data-types/string.md)) — HTTP заголовок `UserAgent`.
|
||||||
- `quota_key` (String) — «ключ квоты» из настроек [квот](quotas.md) (см. `keyed`).
|
- `quota_key` ([String](../sql-reference/data-types/string.md)) — «ключ квоты» из настроек [квот](quotas.md) (см. `keyed`).
|
||||||
- `revision` (UInt32) — ревизия ClickHouse.
|
- `revision` ([UInt32](../sql-reference/data-types/int-uint.md)) — ревизия ClickHouse.
|
||||||
- `thread_numbers` (Array(UInt32)) — количество потоков, участвующих в обработке запросов.
|
- `thread_numbers` ([Array(UInt32)](../sql-reference/data-types/array.md)) — количество потоков, участвующих в обработке запросов.
|
||||||
- `ProfileEvents.Names` (Array(String)) — Счетчики для изменения различных метрик. Описание метрик можно получить из таблицы [system.events](#system_tables-events)(\#system\_tables-events
|
- `ProfileEvents.Names` ([Array(String)](../sql-reference/data-types/array.md)) — Счетчики для изменения различных метрик. Описание метрик можно получить из таблицы [system.events](#system_tables-events)(\#system\_tables-events
|
||||||
- `ProfileEvents.Values` (Array(UInt64)) — метрики, перечисленные в столбце `ProfileEvents.Names`.
|
- `ProfileEvents.Values` ([Array(UInt64)](../sql-reference/data-types/array.md)) — метрики, перечисленные в столбце `ProfileEvents.Names`.
|
||||||
- `Settings.Names` (Array(String)) — имена настроек, которые меняются, когда клиент выполняет запрос. Чтобы разрешить логирование изменений настроек, установите параметр `log_query_settings` равным 1.
|
- `Settings.Names` ([Array(String)](../sql-reference/data-types/array.md)) — имена настроек, которые меняются, когда клиент выполняет запрос. Чтобы разрешить логирование изменений настроек, установите параметр `log_query_settings` равным 1.
|
||||||
- `Settings.Values` (Array(String)) — Значения настроек, которые перечислены в столбце `Settings.Names`.
|
- `Settings.Values` ([Array(String)](../sql-reference/data-types/array.md)) — Значения настроек, которые перечислены в столбце `Settings.Names`.
|
||||||
|
|
||||||
Каждый запрос создаёт одну или две строки в таблице `query_log`, в зависимости от статуса запроса:
|
**Пример**
|
||||||
|
|
||||||
1. Если запрос выполнен успешно, создаются два события типа 1 и 2 (смотрите столбец `type`).
|
``` sql
|
||||||
2. Если во время обработки запроса произошла ошибка, создаются два события с типами 1 и 4.
|
SELECT * FROM system.query_log LIMIT 1 FORMAT Vertical;
|
||||||
3. Если ошибка произошла до запуска запроса, создается одно событие с типом 3.
|
```
|
||||||
|
|
||||||
По умолчанию, строки добавляются в таблицу логирования с интервалом в 7,5 секунд. Можно задать интервал в конфигурационном параметре сервера [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) (смотрите параметр `flush_interval_milliseconds`). Чтобы принудительно записать логи из буффера памяти в таблицу, используйте запрос `SYSTEM FLUSH LOGS`.
|
``` text
|
||||||
|
Row 1:
|
||||||
|
──────
|
||||||
|
type: QueryStart
|
||||||
|
event_date: 2020-05-13
|
||||||
|
event_time: 2020-05-13 14:02:28
|
||||||
|
query_start_time: 2020-05-13 14:02:28
|
||||||
|
query_duration_ms: 0
|
||||||
|
read_rows: 0
|
||||||
|
read_bytes: 0
|
||||||
|
written_rows: 0
|
||||||
|
written_bytes: 0
|
||||||
|
result_rows: 0
|
||||||
|
result_bytes: 0
|
||||||
|
memory_usage: 0
|
||||||
|
query: SELECT 1
|
||||||
|
exception_code: 0
|
||||||
|
exception:
|
||||||
|
stack_trace:
|
||||||
|
is_initial_query: 1
|
||||||
|
user: default
|
||||||
|
query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
|
||||||
|
address: ::ffff:127.0.0.1
|
||||||
|
port: 57720
|
||||||
|
initial_user: default
|
||||||
|
initial_query_id: 5e834082-6f6d-4e34-b47b-cd1934f4002a
|
||||||
|
initial_address: ::ffff:127.0.0.1
|
||||||
|
initial_port: 57720
|
||||||
|
interface: 1
|
||||||
|
os_user: bayonet
|
||||||
|
client_hostname: clickhouse.ru-central1.internal
|
||||||
|
client_name: ClickHouse client
|
||||||
|
client_revision: 54434
|
||||||
|
client_version_major: 20
|
||||||
|
client_version_minor: 4
|
||||||
|
client_version_patch: 1
|
||||||
|
http_method: 0
|
||||||
|
http_user_agent:
|
||||||
|
quota_key:
|
||||||
|
revision: 54434
|
||||||
|
thread_ids: []
|
||||||
|
ProfileEvents.Names: []
|
||||||
|
ProfileEvents.Values: []
|
||||||
|
Settings.Names: ['use_uncompressed_cache','load_balancing','log_queries','max_memory_usage']
|
||||||
|
Settings.Values: ['0','random','1','10000000000']
|
||||||
|
|
||||||
Если таблицу удалить вручную, она пересоздастся автоматически «на лету». При этом все логи на момент удаления таблицы будут удалены.
|
```
|
||||||
|
**Смотрите также**
|
||||||
|
|
||||||
!!! note "Примечание"
|
- [system.query_thread_log](#system_tables-query_thread_log) — в этой таблице содержится информация о цепочке каждого выполненного запроса.
|
||||||
Срок хранения логов не ограничен. Логи не удаляются из таблицы автоматически. Вам необходимо самостоятельно организовать удаление устаревших логов.
|
|
||||||
|
|
||||||
Можно указать произвольный ключ партиционирования для таблицы `system.query_log` в конфигурации [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) (параметр `partition_by`).
|
## system.query_thread_log {#system_tables-query_thread_log}
|
||||||
|
|
||||||
## system.query\_log {#system_tables-query_log}
|
|
||||||
|
|
||||||
Contains information about execution of queries. For each query, you can see processing start time, duration of processing, error messages and other information.
|
|
||||||
|
|
||||||
!!! note "Note"
|
|
||||||
The table doesn’t contain input data for `INSERT` queries.
|
|
||||||
|
|
||||||
ClickHouse creates this table only if the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server parameter is specified. This parameter sets the logging rules, such as the logging interval or the name of the table the queries will be logged in.
|
|
||||||
|
|
||||||
To enable query logging, set the [log\_queries](settings/settings.md#settings-log-queries) parameter to 1. For details, see the [Settings](settings/settings.md) section.
|
|
||||||
|
|
||||||
The `system.query_log` table registers two kinds of queries:
|
|
||||||
|
|
||||||
1. Initial queries that were run directly by the client.
|
|
||||||
2. Child queries that were initiated by other queries (for distributed query execution). For these types of queries, information about the parent queries is shown in the `initial_*` columns.
|
|
||||||
|
|
||||||
Columns:
|
|
||||||
|
|
||||||
- `type` (`Enum8`) — Type of event that occurred when executing the query. Values:
|
|
||||||
- `'QueryStart' = 1` — Successful start of query execution.
|
|
||||||
- `'QueryFinish' = 2` — Successful end of query execution.
|
|
||||||
- `'ExceptionBeforeStart' = 3` — Exception before the start of query execution.
|
|
||||||
- `'ExceptionWhileProcessing' = 4` — Exception during the query execution.
|
|
||||||
- `event_date` (Date) — Query starting date.
|
|
||||||
- `event_time` (DateTime) — Query starting time.
|
|
||||||
- `query_start_time` (DateTime) — Start time of query execution.
|
|
||||||
- `query_duration_ms` (UInt64) — Duration of query execution.
|
|
||||||
- `read_rows` (UInt64) — Number of read rows.
|
|
||||||
- `read_bytes` (UInt64) — Number of read bytes.
|
|
||||||
- `written_rows` (UInt64) — For `INSERT` queries, the number of written rows. For other queries, the column value is 0.
|
|
||||||
- `written_bytes` (UInt64) — For `INSERT` queries, the number of written bytes. For other queries, the column value is 0.
|
|
||||||
- `result_rows` (UInt64) — Number of rows in the result.
|
|
||||||
- `result_bytes` (UInt64) — Number of bytes in the result.
|
|
||||||
- `memory_usage` (UInt64) — Memory consumption by the query.
|
|
||||||
- `query` (String) — Query string.
|
|
||||||
- `exception` (String) — Exception message.
|
|
||||||
- `stack_trace` (String) — Stack trace (a list of methods called before the error occurred). An empty string, if the query is completed successfully.
|
|
||||||
- `is_initial_query` (UInt8) — Query type. Possible values:
|
|
||||||
- 1 — Query was initiated by the client.
|
|
||||||
- 0 — Query was initiated by another query for distributed query execution.
|
|
||||||
- `user` (String) — Name of the user who initiated the current query.
|
|
||||||
- `query_id` (String) — ID of the query.
|
|
||||||
- `address` (IPv6) — IP address that was used to make the query.
|
|
||||||
- `port` (UInt16) — The client port that was used to make the query.
|
|
||||||
- `initial_user` (String) — Name of the user who ran the initial query (for distributed query execution).
|
|
||||||
- `initial_query_id` (String) — ID of the initial query (for distributed query execution).
|
|
||||||
- `initial_address` (IPv6) — IP address that the parent query was launched from.
|
|
||||||
- `initial_port` (UInt16) — The client port that was used to make the parent query.
|
|
||||||
- `interface` (UInt8) — Interface that the query was initiated from. Possible values:
|
|
||||||
- 1 — TCP.
|
|
||||||
- 2 — HTTP.
|
|
||||||
- `os_user` (String) — OS’s username who runs [clickhouse-client](../interfaces/cli.md).
|
|
||||||
- `client_hostname` (String) — Hostname of the client machine where the [clickhouse-client](../interfaces/cli.md) or another TCP client is run.
|
|
||||||
- `client_name` (String) — The [clickhouse-client](../interfaces/cli.md) or another TCP client name.
|
|
||||||
- `client_revision` (UInt32) — Revision of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
|
||||||
- `client_version_major` (UInt32) — Major version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
|
||||||
- `client_version_minor` (UInt32) — Minor version of the [clickhouse-client](../interfaces/cli.md) or another TCP client.
|
|
||||||
- `client_version_patch` (UInt32) — Patch component of the [clickhouse-client](../interfaces/cli.md) or another TCP client version.
|
|
||||||
- `http_method` (UInt8) — HTTP method that initiated the query. Possible values:
|
|
||||||
- 0 — The query was launched from the TCP interface.
|
|
||||||
- 1 — `GET` method was used.
|
|
||||||
- 2 — `POST` method was used.
|
|
||||||
- `http_user_agent` (String) — The `UserAgent` header passed in the HTTP request.
|
|
||||||
- `quota_key` (String) — The «quota key» specified in the [quotas](quotas.md) setting (see `keyed`).
|
|
||||||
- `revision` (UInt32) — ClickHouse revision.
|
|
||||||
- `thread_numbers` (Array(UInt32)) — Number of threads that are participating in query execution.
|
|
||||||
- `ProfileEvents.Names` (Array(String)) — Counters that measure different metrics. The description of them could be found in the table [system.events](#system_tables-events)
|
|
||||||
- `ProfileEvents.Values` (Array(UInt64)) — Values of metrics that are listed in the `ProfileEvents.Names` column.
|
|
||||||
- `Settings.Names` (Array(String)) — Names of settings that were changed when the client ran the query. To enable logging changes to settings, set the `log_query_settings` parameter to 1.
|
|
||||||
- `Settings.Values` (Array(String)) — Values of settings that are listed in the `Settings.Names` column.
|
|
||||||
|
|
||||||
Each query creates one or two rows in the `query_log` table, depending on the status of the query:
|
|
||||||
|
|
||||||
1. If the query execution is successful, two events with types 1 and 2 are created (see the `type` column).
|
|
||||||
2. If an error occurred during query processing, two events with types 1 and 4 are created.
|
|
||||||
3. If an error occurred before launching the query, a single event with type 3 is created.
|
|
||||||
|
|
||||||
By default, logs are added to the table at intervals of 7.5 seconds. You can set this interval in the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server setting (see the `flush_interval_milliseconds` parameter). To flush the logs forcibly from the memory buffer into the table, use the `SYSTEM FLUSH LOGS` query.
|
|
||||||
|
|
||||||
When the table is deleted manually, it will be automatically created on the fly. Note that all the previous logs will be deleted.
|
|
||||||
|
|
||||||
!!! note "Note"
|
|
||||||
The storage period for logs is unlimited. Logs aren’t automatically deleted from the table. You need to organize the removal of outdated logs yourself.
|
|
||||||
|
|
||||||
You can specify an arbitrary partitioning key for the `system.query_log` table in the [query\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-log) server setting (see the `partition_by` parameter).
|
|
||||||
\#\# system.query\_thread\_log {\#system\_tables-query-thread-log}
|
|
||||||
|
|
||||||
Содержит информацию о каждом потоке выполняемых запросов.
|
Содержит информацию о каждом потоке выполняемых запросов.
|
||||||
|
|
||||||
ClickHouse создаёт таблицу только в том случае, когда установлен конфигурационный параметр сервера [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log). Параметр задаёт правила ведения лога, такие как интервал логирования или имя таблицы, в которую будут логгироваться запросы.
|
ClickHouse создаёт таблицу только в том случае, когда установлен конфигурационный параметр сервера [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log). Параметр задаёт правила ведения лога, такие как интервал логирования или имя таблицы, в которую будут логгироваться запросы.
|
||||||
|
|
||||||
Чтобы включить логирование, задайте значение параметра [log\_query\_threads](settings/settings.md#settings-log-query-threads) равным 1. Подробности смотрите в разделе [Настройки](settings/settings.md#settings).
|
Чтобы включить логирование, задайте значение параметра [log\_query\_threads](settings/settings.md#settings-log-query-threads) равным 1. Подробности смотрите в разделе [Настройки](settings/settings.md#settings).
|
||||||
|
|
||||||
@ -770,16 +747,16 @@ ClickHouse создаёт таблицу только в том случае, к
|
|||||||
- `ProfileEvents.Names` (Array(String)) — Счетчики для изменения различных метрик для данного потока. Описание метрик можно получить из таблицы [system.events](#system_tables-events)(\#system\_tables-events
|
- `ProfileEvents.Names` (Array(String)) — Счетчики для изменения различных метрик для данного потока. Описание метрик можно получить из таблицы [system.events](#system_tables-events)(\#system\_tables-events
|
||||||
- `ProfileEvents.Values` (Array(UInt64)) — метрики для данного потока, перечисленные в столбце `ProfileEvents.Names`.
|
- `ProfileEvents.Values` (Array(UInt64)) — метрики для данного потока, перечисленные в столбце `ProfileEvents.Names`.
|
||||||
|
|
||||||
По умолчанию, строки добавляются в таблицу логирования с интервалом в 7,5 секунд. Можно задать интервал в конфигурационном параметре сервера [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) (смотрите параметр `flush_interval_milliseconds`). Чтобы принудительно записать логи из буффера памяти в таблицу, используйте запрос `SYSTEM FLUSH LOGS`.
|
По умолчанию, строки добавляются в таблицу логирования с интервалом в 7,5 секунд. Можно задать интервал в конфигурационном параметре сервера [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) (смотрите параметр `flush_interval_milliseconds`). Чтобы принудительно записать логи из буффера памяти в таблицу, используйте запрос `SYSTEM FLUSH LOGS`.
|
||||||
|
|
||||||
Если таблицу удалить вручную, она пересоздастся автоматически «на лету». При этом все логи на момент удаления таблицы будут удалены.
|
Если таблицу удалить вручную, она пересоздастся автоматически «на лету». При этом все логи на момент удаления таблицы будут удалены.
|
||||||
|
|
||||||
!!! note "Примечание"
|
!!! note "Примечание"
|
||||||
Срок хранения логов не ограничен. Логи не удаляются из таблицы автоматически. Вам необходимо самостоятельно организовать удаление устаревших логов.
|
Срок хранения логов не ограничен. Логи не удаляются из таблицы автоматически. Вам необходимо самостоятельно организовать удаление устаревших логов.
|
||||||
|
|
||||||
Можно указать произвольный ключ партиционирования для таблицы `system.query_log` в конфигурации [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query-thread-log) (параметр `partition_by`).
|
Можно указать произвольный ключ партиционирования для таблицы `system.query_log` в конфигурации [query\_thread\_log](server-configuration-parameters/settings.md#server_configuration_parameters-query_thread_log) (параметр `partition_by`).
|
||||||
|
|
||||||
## system.query_thread_log {#system_tables-query-thread-log}
|
## system.query_thread_log {#system_tables-query_thread_log}
|
||||||
|
|
||||||
Содержит информацию о каждом потоке исполнения запроса.
|
Содержит информацию о каждом потоке исполнения запроса.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user