ClickHouse monitoring
ClickHouse server performance from built-in metrics data
SkyWalking leverages ClickHouse built-in metrics data since v20.1.2.4. It leverages OpenTelemetry Collector to transfer the metrics to OpenTelemetry receiver and into the Meter System.
Data flow
- Configure ClickHouse to expose metrics data for scraping from Prometheus.
- OpenTelemetry Collector fetches metrics from ClickeHouse server through Prometheus endpoint, and pushes metrics to SkyWalking OAP Server via OpenTelemetry gRPC exporter.
- The SkyWalking OAP Server parses the expression with MAL to filter/calculate/aggregate and store the results.
Set up
- Set up built-in prometheus endpoint .
- Set up OpenTelemetry Collector . For details on Prometheus Receiver in OpenTelemetry Collector, refer to here.
- Config SkyWalking OpenTelemetry receiver.
ClickHouse Monitoring
ClickHouse monitoring provides monitoring of the metrics 、events and asynchronous_metrics of the ClickHouse server.
ClickHouse cluster is cataloged as a Layer: CLICKHOUSE
Service
in OAP. Each ClickHouse server is cataloged as
an Instance
in OAP.
ClickHouse Instance Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
CpuUsage | count | meter_clickhouse_instance_cpu_usage | CPU time spent seen by OS per second(according to ClickHouse.system.dashboard.CPU Usage (cores)). | ClickHouse |
MemoryUsage | percentage | meter_clickhouse_instance_memory_usage | Total amount of memory (bytes) allocated by the server/ total amount of OS memory. | ClickHouse |
MemoryAvailable | percentage | meter_clickhouse_instance_memory_available | Total amount of memory (bytes) available for program / total amount of OS memory. | ClickHouse |
Uptime | sec | meter_clickhouse_instance_uptime | The server uptime in seconds. It includes the time spent for server initialization before accepting connections. | ClickHouse |
Version | string | meter_clickhouse_instance_version | Version of the server in a single integer number in base-1000. | ClickHouse |
FileOpen | count | meter_clickhouse_instance_file_open | Number of files opened. | ClickHouse |
ClickHouse Network Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
TcpConnections | count | meter_clickhouse_instance_tcp_connections meter_clickhouse_tcp_connections |
Number of connections to TCP server. | ClickHouse |
MysqlConnections | count | meter_clickhouse_instance_mysql_connections meter_clickhouse_mysql_connections |
Number of client connections using MySQL protocol. | ClickHouse |
HttpConnections | count | meter_clickhouse_instance_http_connections meter_clickhouse_mysql_connections |
Number of connections to HTTP server. | ClickHouse |
InterserverConnections | count | meter_clickhouse_instance_interserver_connections meter_clickhouse_interserver_connections |
Number of connections from other replicas to fetch parts. | ClickHouse |
PostgresqlConnections | count | meter_clickhouse_instance_postgresql_connections meter_clickhouse_postgresql_connections |
Number of client connections using PostgreSQL protocol. | ClickHouse |
ReceiveBytes | bytes | meter_clickhouse_instance_network_receive_bytes meter_clickhouse_network_receive_bytes |
Total number of bytes received from network. | ClickHouse |
SendBytes | bytes | meter_clickhouse_instance_network_send_bytes meter_clickhouse_network_send_bytes |
Total number of bytes send to network. | ClickHouse |
ClickHouse Query Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
QueryCount | count | meter_clickhouse_instance_query meter_clickhouse_query |
Number of executing queries. | ClickHouse |
SelectQueryCount | count | meter_clickhouse_instance_query_select meter_clickhouse_query_select |
Number of executing queries, but only for SELECT queries. | ClickHouse |
InsertQueryCount | count | meter_clickhouse_instance_query_insert meter_clickhouse_query_insert |
Number of executing queries, but only for INSERT queries. | ClickHouse |
SelectQueryRate | count/sec | meter_clickhouse_instance_query_select_rate meter_clickhouse_query_select_rate |
Number of SELECT queries per second. | ClickHouse |
InsertQueryRate | count/sec | meter_clickhouse_instance_query_insert_rate meter_clickhouse_query_insert_rate |
Number of INSERT queries per second. | ClickHouse |
Querytime | microsec | meter_clickhouse_instance_querytime_microseconds meter_clickhouse_querytime_microseconds |
Total time of all queries. | ClickHouse |
SelectQuerytime | microsec | meter_clickhouse_instance_querytime_select_microseconds meter_clickhouse_querytime_select_microseconds |
Total time of SELECT queries. | ClickHouse |
InsertQuerytime | microsec | meter_clickhouse_instance_querytime_insert_microseconds meter_clickhouse_querytime_insert_microseconds |
Total time of INSERT queries. | ClickHouse |
OtherQuerytime | microsec | meter_clickhouse_instance_querytime_other_microseconds meter_clickhouse_querytime_other_microseconds |
Total time of queries that are not SELECT or INSERT. | ClickHouse |
QuerySlowCount | count | meter_clickhouse_instance_query_slow meter_clickhouse_query_slow |
Number of reads from a file that were slow. | ClickHouse |
ClickHouse Insertion Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
InsertQueryCount | count | meter_clickhouse_instance_query_insert meter_clickhouse_query_insert |
Number of executing queries, but only for INSERT queries. | ClickHouse |
InsertedRowCount | count | meter_clickhouse_instance_inserted_rows meter_clickhouse_inserted_rows |
Number of rows INSERTed to all tables. | ClickHouse |
InsertedBytes | bytes | meter_clickhouse_instance_inserted_bytes meter_clickhouse_inserted_bytes |
Number of bytes INSERTed to all tables. | ClickHouse |
DelayedInsertCount | count | meter_clickhouse_instance_delayed_insert meter_clickhouse_delayed_insert |
Number of times the INSERT of a block to a MergeTree table was throttled due to high number of active data parts for partition. | ClickHouse |
ClickHouse Replicas Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
ReplicatedChecks | count | meter_clickhouse_instance_replicated_checks meter_clickhouse_replicated_checks |
Number of data parts checking for consistency. | ClickHouse |
ReplicatedFetch | count | meter_clickhouse_instance_replicated_fetch meter_clickhouse_replicated_fetch |
Number of data parts being fetched from replica. | ClickHouse |
ReplicatedSend | count | meter_clickhouse_instance_replicated_send meter_clickhouse_replicated_send |
Number of data parts being sent to replicas. | ClickHouse |
ClickHouse MergeTree Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
BackgroundMergeCount | count | meter_clickhouse_instance_background_merge meter_clickhouse_background_merge |
Number of executing background merges. | ClickHouse |
MergeRows | count | meter_clickhouse_instance_merge_rows meter_clickhouse_merge_rows |
Rows read for background merges. This is the number of rows before merge. | ClickHouse |
MergeUncompressedBytes | bytes | meter_clickhouse_instance_merge_uncompressed_bytes meter_clickhouse_merge_uncompressed_bytes |
Uncompressed bytes (for columns as they stored in memory) that was read for background merges. This is the number before merge. | ClickHouse |
MoveCount | count | meter_clickhouse_instance_move meter_clickhouse_move |
Number of currently executing moves. | ClickHouse |
PartsActive | Count | meter_clickhouse_instance_parts_active meter_clickhouse_parts_active |
Active data part, used by current and upcoming SELECTs. | ClickHouse |
MutationsCount | count | meter_clickhouse_instance_mutations meter_clickhouse_mutations |
Number of mutations (ALTER DELETE/UPDATE). | ClickHouse |
ClickHouse Kafka Table Engine Supported Metrics
When table engine works with Apache Kafka.
Kafka lets you:
- Publish or subscribe to data flows.
- Organize fault-tolerant storage.
- Process streams as they become available.
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
KafkaMessagesRead | count | meter_clickhouse_instance_kafka_messages_read meter_clickhouse_kafka_messages_read |
Number of Kafka messages already processed by ClickHouse. | ClickHouse |
KafkaWrites | count | meter_clickhouse_instance_kafka_writes meter_clickhouse_kafka_writes |
Number of writes (inserts) to Kafka tables. | ClickHouse |
KafkaConsumers | count | meter_clickhouse_instance_kafka_consumers meter_clickhouse_kafka_consumers |
Number of active Kafka consumers. | ClickHouse |
KafkaProducers | count | meter_clickhouse_instance_kafka_producers meter_clickhouse_kafka_producers |
Number of active Kafka producer created. | ClickHouse |
ClickHouse ZooKeeper Supported Metrics
ClickHouse uses ZooKeeper for storing metadata of replicas when using replicated tables. If replicated tables are not used, this section of parameters can be omitted.
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
ZookeeperSession | count | meter_clickhouse_instance_zookeeper_session meter_clickhouse_zookeeper_session |
Number of sessions (connections) to ZooKeeper. | ClickHouse |
ZookeeperWatch | count | meter_clickhouse_instance_zookeeper_watch meter_clickhouse_zookeeper_watch |
Number of watches (event subscriptions) in ZooKeeper. | ClickHouse |
ZookeeperBytesSent | bytes | meter_clickhouse_instance_zookeeper_bytes_sent meter_clickhouse_zookeeper_bytes_sent |
Number of bytes send over network while communicating with ZooKeeper. | ClickHouse |
ZookeeperBytesReceive | bytes | meter_clickhouse_instance_zookeeper_bytes_received meter_clickhouse_zookeeper_bytes_received |
Number of bytes send over network while communicating with ZooKeeper. | ClickHouse |
ClickHouse Keeper Supported Metrics
Monitoring Panel | Unit | Metric Name | Description | Data Source |
---|---|---|---|---|
KeeperAliveConnections | count | meter_clickhouse_instance_keeper_connections_alive meter_clickhouse_keeper_connections_alive |
Number of alive connections for embedded ClickHouse Keeper. | ClickHouse |
KeeperOutstandingRequets | count | meter_clickhouse_instance_keeper_outstanding_requests meter_clickhouse_keeper_outstanding_requests |
Number of outstanding requests for embedded ClickHouse Keeper. | ClickHouse |
Customizations
You can customize your own metrics/expression/dashboard panel. The metrics definition and expression rules are found
in /config/otel-rules/clickhouse
. The ClickHouse dashboard panel configurations are found
in /config/ui-initialized-templates/clickhouse
.