5.4
Templates/Applications
Airflow DAG Monitor
Airflow DAG Monitor
Мониторинг Apache Airflow DAG-ов через сервис airflow-monitor.
Сервис пишет данные в файлы, Zabbix Agent читает через UserParameter.
Требования:
- Установлен airflow-monitor (/opt/airflow-monitor)
- Установлен конфиг /etc/zabbix/zabbix_agentd.conf.d/airflow-monitor.conf
Версия шаблона: 1.0.0 (Zabbix 5.x)
Templates/Applications
-
Airflow: Problematic DAGs (JSON)
airflow.dag.problems
1m
7d
TEXT
JSON-массив проблемных DAG-запусков. [] = нет проблем.
component
airflow
-
Airflow: Problematic DAGs count
airflow.dag.problems.count
1m
90d
365d
UNSIGNED
Количество DAG-запусков с проблемами.
component
airflow
-
Airflow Monitor: Heartbeat
airflow.monitor.heartbeat
1m
7d
UNSIGNED
Epoch timestamp последнего успешного цикла мониторинга.
component
dag-monitor
-
Airflow Monitor: Status (JSON)
airflow.monitor.status
5m
7d
TEXT
JSON со статусом монитора.
component
dag-monitor
-
Airflow Monitor: Service alive
airflow.monitor.alive
1m
90d
365d
UNSIGNED
1 = сервис запущен, 0 = остановлен.
Service state
component
dag-monitor
-
Airflow Monitor: DAG count
DEPENDENT
airflow.monitor.dag_count
90d
365d
UNSIGNED
Количество отслеживаемых DAG-ов.
airflow.monitor.status
JSONPATH
$.dag_count
DISCARD_UNCHANGED_HEARTBEAT
1h
component
airflow
-
Airflow Monitor: Cycle time (seconds)
DEPENDENT
airflow.monitor.cycle_time
90d
365d
FLOAT
s
Время выполнения последнего цикла мониторинга.
airflow.monitor.status
JSONPATH
$.cycle_time_seconds
component
dag-monitor
-
Airflow Monitor: Cycle count
DEPENDENT
airflow.monitor.cycle_count
90d
365d
UNSIGNED
Номер текущего цикла мониторинга.
airflow.monitor.status
JSONPATH
$.cycle_count
DISCARD_UNCHANGED_HEARTBEAT
1h
component
dag-monitor
{Airflow DAG Monitor:airflow.dag.problems.count.last()}>0
{Airflow DAG Monitor:airflow.dag.problems.count.last()}=0
Airflow: {ITEM.LASTVALUE1} problematic DAG run(s) detected
HIGH
Обнаружены проблемные DAG-запуски (failed или long_running).
Подробности в item "Airflow: Problematic DAGs (JSON)".
Триггер снимается автоматически при разрешении всех проблем.
scope
availability
{Airflow DAG Monitor:airflow.monitor.heartbeat.nodata(600)}=1 or (({Airflow DAG Monitor:airflow.monitor.heartbeat.last()}>0) and ({Airflow DAG Monitor:airflow.monitor.heartbeat.fuzzytime(600)}=0))
Airflow Monitor: Data is stale (no update for 10+ minutes)
DISASTER
Данные мониторинга не обновлялись более 10 минут.
Возможные причины: сервис остановлен, Airflow API недоступен.
Airflow Monitor: Service is not running
{Airflow DAG Monitor:airflow.monitor.alive.last()}=0
scope
availability
{Airflow DAG Monitor:airflow.monitor.alive.last()}=0
Airflow Monitor: Service is not running
HIGH
Сервис airflow-monitor не запущен.
Запустить: sudo systemctl start airflow-monitor
scope
availability
{Airflow DAG Monitor:airflow.monitor.cycle_time.last()}>60
Airflow Monitor: Cycle time is high ({ITEM.LASTVALUE1}s)
WARNING
Цикл мониторинга выполняется дольше 60 секунд.
scope
performance
Airflow: Problem DAG count
FF0000
-
Airflow DAG Monitor
airflow.dag.problems.count
00AA00
RIGHT
-
Airflow DAG Monitor
airflow.monitor.dag_count
Airflow Monitor: Cycle time
0000FF
-
Airflow DAG Monitor
airflow.monitor.cycle_time
{$AIRFLOW.STALE_THRESHOLD}
600
Порог устаревания данных (секунды).
{$AIRFLOW.CYCLE_TIME_WARN}
60
Порог предупреждения о долгом цикле (секунды).
Service state
0
Stopped
1
Running