- Зачем:
- ревью rev5 выявило несоответствие плану: дефолт 60s против 5s,
неработающий jitter, отсутствие Prometheus-метрик и персистентности
- Что:
- дефолт GEN_TICK_SECONDS изменён с 60s на 5s (steady-stream режим)
- реализован GEN_JITTER_PCT в расчёте объёма тика (вариативность)
- добавлены Prometheus метрики: generator_events_total,
generator_publish_errors_total, generator_tick_duration_seconds,
generator_last_success_timestamp (порт 9109)
- добавлен ClickHouseBatchHistory с записью в meta.generator_batches
- lazy import kafka-python для тестов без Kafka
- обновлён scrape_config в configs/prometheus.yml
- удалён нерабочий verify_kafka.py
- Проверка:
- test_comprehensive.py: 9/9 тестов пройдено
- docker build -t generator:rev5 . — успешно
- docker-compose.yml валиден
39 lines
1.0 KiB
YAML
39 lines
1.0 KiB
YAML
global:
|
|
scrape_interval: 15s
|
|
|
|
scrape_configs:
|
|
- job_name: "clickhouse"
|
|
metrics_path: "/metrics"
|
|
static_configs:
|
|
- targets: ["clickhouse:9126"]
|
|
labels:
|
|
instance: Clickhouse-1
|
|
honor_labels: true
|
|
|
|
# Kafka metrics via kafka-exporter
|
|
# Проверено через Context7: формат scrape_configs подтверждён (/prometheus/docs)
|
|
- job_name: "kafka"
|
|
metrics_path: "/metrics"
|
|
static_configs:
|
|
- targets: ["kafka-exporter:9308"]
|
|
labels:
|
|
instance: Kafka-1
|
|
honor_labels: true
|
|
|
|
# Airflow metrics via statsd-exporter (StatsD → Prometheus)
|
|
- job_name: "airflow"
|
|
metrics_path: "/metrics"
|
|
static_configs:
|
|
- targets: ["statsd-exporter:9102"]
|
|
labels:
|
|
instance: Airflow-1
|
|
honor_labels: true
|
|
|
|
# Generator metrics (custom events generator)
|
|
- job_name: "generator"
|
|
metrics_path: "/metrics"
|
|
static_configs:
|
|
- targets: ["generator:9109"]
|
|
labels:
|
|
instance: Generator-1
|
|
honor_labels: true |