- Зачем:
- диапазонные запросы Prometheus возвращали временные ряды, из-за чего Grafana не вычисляла алерты Airflow и Kafka.
- Что:
- между запросом Prometheus и Threshold добавлен Reduce(last) в семи правилах, а аннотации переведены на итоговое число.
- добавлены регрессионные тесты конфигурации и зависимость PyYAML для их запуска.
- в уроке 5 уточнено время срабатывания и восстановления алерта scheduler.
- Проверка:
- uv run --with-requirements generator/requirements.txt pytest tests/ -q -p no:cacheprovider: 33 passed.
- uv run --with-requirements requirements.txt pytest tests/ -q -p no:cacheprovider из generator: 218 passed.
- Docker Compose config и вычисление правил в Grafana 11.5.2 прошли успешно.
- Add statsd-exporter service to docker-compose.yml (prom/statsd-exporter:v0.27.1)
- Add StatsD env vars to airflow-default-env for metrics export
- Add airflow job to prometheus.yml scrape configs
- Add Airflow Overview dashboard (Grafana provisioning)
- Add Airflow alert rules: scheduler down, queue backlog, failures, parse time
- Add configs/statsd_mapping.yml for StatsD → Prometheus conversion
- Use Prometheus naming convention (_total for counters, _seconds for timers)
- Add monitoring plan at plans/monitoring_airflow_plan.md
- Update OPERATIONS.md and Makefile for airflow monitoring
Tested: all 3 jobs (airflow, clickhouse, kafka) showing UP in Prometheus,
metrics flowing (dagbag_size=3, executor slots, heartbeats with _total suffix),
all 4 alert rules loaded in Grafana