Adds ClickHouseSchemaInitializer that runs on ApplicationReadyEvent, scanning classpath:clickhouse/*.sql in filename order and executing each statement. Adds V1__agent_metrics.sql with MergeTree table, tenant/agent partitioning, and 365-day TTL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
15 lines
592 B
SQL
15 lines
592 B
SQL
CREATE TABLE IF NOT EXISTS agent_metrics (
|
|
tenant_id LowCardinality(String) DEFAULT 'default',
|
|
collected_at DateTime64(3),
|
|
agent_id LowCardinality(String),
|
|
metric_name LowCardinality(String),
|
|
metric_value Float64,
|
|
tags Map(String, String) DEFAULT map(),
|
|
server_received_at DateTime64(3) DEFAULT now64(3)
|
|
)
|
|
ENGINE = MergeTree()
|
|
PARTITION BY (tenant_id, toYYYYMM(collected_at))
|
|
ORDER BY (tenant_id, agent_id, metric_name, collected_at)
|
|
TTL collected_at + INTERVAL 365 DAY DELETE
|
|
SETTINGS index_granularity = 8192;
|