A wireframe of a standard metrics collection pipeline.
The pipeline consists of four (4) elements:
- Metric publisher - Telegraf
- Messagebus - Redpanda
- Metric router - Python application
- Data store - ClickHouse
We use Telegraf to generate system metrics and publish them to Redpanda via the Kafka output.
We use Redpanda as our pub/sub app where publishers can send metrics and where the Metric Router can consume.
Future improvements will include batching to improve the efficiency of the database writes.
The Metric Router is a simple Python implementation using AsyncIO to consume from Redpanda and publish to ClickHouse.
We use ClickHouse to store our time series metric data. Its just faster than InfluxDB and the Grafana integration is very workable.