ClickHouse is the default telemetry store in Proxus. This connector is also used for outbound exports when you want to route telemetry copies to a ClickHouse target.
info
Storage vs Export
Telemetry storage uses the DeviceRawData table in ClickHouse. Outbound DB connectors write to ProxusDeviceData in the target database.
open_in_new
Official Documentation
Learn more at clickhouse.com
Configuration Parameters
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| Host | No | string | localhost | The hostname or IP of the ClickHouse server. |
| Port | No | int | 8123 | The HTTP Interface port (Not the native 9000 port). |
| Username | No | string | default | Database authentication username. |
| Password | No | string | (empty) | Database authentication password. |
| Database | No | string | proxus | The target database name. |
| Table | No | string | DeviceRawData | The target table name for telemetry ingestion. |
| WriteIntervalSeconds | No | int | 1 | Micro-batch flushing interval. Lower = Real-time, Higher = Better |
| Compression. | ||||
| TTLExpression | No | string | - | TTL for the telemetry table (e.g., toDateTime(Time) + INTERVAL 1 YEAR). |
| LogTTLExpression | No | string | - | TTL for the Logs table. |
Internal Behavior
Resilience (Store & Forward)
If ClickHouse is unreachable:
- Telemetry is buffered in the NATS JetStream outbox stream.
- The connector continuously retries the connection.
- Once online, outbox batches are drained into ClickHouse.
Performance Features
- Async Inserts: Uses ClickHouse's native async insert capability.
- Compression: Data is serialized using
RowBinaryformat with LZ4 compression. - Partitioning: If Proxus creates the table, it partitions by month (
toYYYYMM(Time)).
Tables Created
- Telemetry:
DeviceRawData - Logs:
Logs - Metrics:
DeviceMetrics