Skip to main content

A Python exporter for collecting clickhouse tables sizes.

Project description

Clickhouse table exporter

A Python exporter for collecting clickhouse tables sizes.

Provided metrics

All metrics have two default labes: database and table.

  • clickhouse_table_exporter_table_size - size in bytes
  • clickhouse_table_exporter_table_rows - rows in table
  • clickhouse_table_exporter_table_days - difference between max_time and min_time of a table
  • clickhouse_table_exporter_table_avg_day_size - size / the difference

Example output

$  curl -s 127.0.0.1:9001/ | egrep '^clickhouse_table_exporter_table.*foo'
clickhouse_table_exporter_table_size{database="foo",table="t1"} 71394.0
clickhouse_table_exporter_table_size{database="foo",table="t2"} 23827.0
clickhouse_table_exporter_table_rows{database="foo",table="t1"} 300.0
clickhouse_table_exporter_table_rows{database="foo",table="t2"} 100.0
clickhouse_table_exporter_table_days{database="foo",table="t1"} 11.0
clickhouse_table_exporter_table_days{database="foo",table="t2"} 11.0
clickhouse_table_exporter_table_avg_day_size{database="foo",table="t1"} 6237.17527149184
clickhouse_table_exporter_table_avg_day_size{database="foo",table="t2"} 2072.2592542634943

How to install

Docker

$ docker pull alexeyantropov/clickhouse-table-exporter

Python module from pypi

$ python3 -m pip install clickhouse-table-exporter

How to run

Docker

$ docker run -t -i -p 9001:9001 \
    --env CLICKHOUSE_HOST=192.168.50.120 --env CLICKHOUSE_PORT=8123 \
    --env CLICKHOUSE_USER=my_exporter --env CLICKHOUSE_PASS=your_exporter \
    clickhouse-table-exporter

Bare python

E.g. for rpm packages

$ python3 /.../site-packages/exporter.py

What is next?

Now the exporter is ready to scrape by Promethus.

Dev env

$ CH_TE_DEBUG=1 ./develop/run.sh

How to setup

All configuration is provided by environment variables

  • CH_TE_POLL_INTERVAL - polling interval in seconds (default: 10)
  • CH_TE_PORT - exporter port (default: 9001)
  • CH_TE_DEBUG - enable debug logging
  • CLICKHOUSE_HOST - a clickhouse instence host
  • CLICKHOUSE_PORT - a clickhouse instence port, http port
  • CLICKHOUSE_USER - user (is optionable)
  • CLICKHOUSE_PASS - password (is optionable)

Dependencies

  • clickhouse_connect
  • prometheus_client

Roadmap

  • Github releases

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clickhouse_table_exporter-20230817.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file clickhouse_table_exporter-20230817.tar.gz.

File metadata

File hashes

Hashes for clickhouse_table_exporter-20230817.tar.gz
Algorithm Hash digest
SHA256 10fba378c16762519a0938b6eace68321a341d097e823b5d7771566adf72bc7f
MD5 8fd7617a2e7b932d765f0f52a3050ff6
BLAKE2b-256 d3573da3a425ba8abbc8327ea05404ac28f620669cffebdc033fbef0aa3695d4

See more details on using hashes here.

File details

Details for the file clickhouse_table_exporter-20230817-py3-none-any.whl.

File metadata

File hashes

Hashes for clickhouse_table_exporter-20230817-py3-none-any.whl
Algorithm Hash digest
SHA256 de9419b051e40b2c85b92a5662df0cb7c6b954edff1468901da3186ff411fee6
MD5 51dfb080c12c6f272d1d224b8e42a0b1
BLAKE2b-256 803150f0318179d3f1c3f402493d2e34bf63e26f7cebfdb60599bf69fb452b1c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page