fix: исправил ASCII-схемы в README — ровные блоки, актуальные названия

- заменил Unicode-рамки на ASCII для корректного отображения
- переименовал Zabbix Sender в Data Exporter
- добавил цепочку JSON files -> Zabbix Agent -> Zabbix Server
- исправил блок-схему цикла: экспорт в файлы вместо отправки
This commit is contained in:
Maksim Totmin
2026-04-08 17:43:33 +07:00
parent 62744d1a43
commit 9aacc861f6
+70 -70
View File
@@ -43,26 +43,26 @@
## Архитектура
```
┌──────────────────────────────────────────────────────────────────┐
Airflow DAG Monitor
│ │
│ ┌─────────┐ ┌──────────┐ ┌──────────────┐ ┌────────┐ │
Airflow │───>│ Analyzer │───>│ActionHandler │───>│ Zabbix │ │
Client │ Sender
│ └─────────┘ └──────────┘ └──────────────┘ └────────┘ │
│ │ │ │ │
v v v
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ State Manager
│ │ (retry counts, alert flags)
│ └──────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
│ │
v v
┌─────────┐ ┌──────────────┐
Airflow Zabbix Server
API │ │ Dashboard
└─────────┘ └──────────────┘
+------------------------------------------------------------------+
| Airflow DAG Monitor |
| |
| +----------+ +----------+ +--------------+ +----------+ |
| | Airflow |-->| Analyzer |-->| ActionHandler |-->| Data | |
| | Client | | | | | | Exporter | |
| +----------+ +----------+ +--------------+ +----------+ |
| | | | | |
| v v v v |
| +--------------------------------------------------------+ |
| | State Manager | |
| | (retry counts, alert flags) | |
| +--------------------------------------------------------+ |
+------------------------------------------------------------------+
| |
v v
+---------+ +----------+ +---------+ +----------------+
| Airflow | | JSON | | Zabbix | | Zabbix Server |
| API | | files |-->| Agent |-->| Dashboard |
+---------+ +----------+ +---------+ +----------------+
```
---
@@ -377,14 +377,14 @@ usage: python -m airflow_monitor [-h] [--config CONFIG] [--discover] [--dry-run]
локальный Zabbix Agent, который уже подключён к серверу (напрямую или через Zabbix Proxy).
```
┌──────────────────┐ файлы ┌──────────────┐ сеть ┌──────────────┐
airflow-monitor │ ──────────────> │ Zabbix Agent │ ────────────> │Zabbix Server
(systemd) /var/lib/... UserParameter Dashboard
└──────────────────┘ └──────────────┘ └──────────────┘
или
┌──────────────┐
Zabbix Proxy
└──────────────┘
+------------------+ файлы +--------------+ сеть +----------------+
| airflow-monitor |------------>| Zabbix Agent |------------>| Zabbix Server |
| (systemd) | /var/lib/.. | UserParameter| | Dashboard |
+------------------+ +--------------+ +----------------+
или
+--------------+
| Zabbix Proxy |
+--------------+
```
1. Монитор пишет результаты в файлы `/var/lib/airflow-monitor/`
@@ -541,48 +541,48 @@ zabbix_agentd -t airflow.monitor.alive
### Цикл мониторинга
```
┌─────────────────────┐
Загрузка состояния
└──────────┬──────────┘
v
┌─────────────────────────────┐
Получение списка DAG-ов
GET /api/v1/dags
└──────────────┬──────────────┘
v
┌─────────────────────────────┐
Для каждого DAG:
GET /api/v1/dags/{id}/runs
(фильтр: running, failed)
└──────────────┬──────────────┘
v
┌───────────────────────┐
Анализ: есть проблемы?
└───────┬───────┬───────┘
нет │ да
v v
┌────┐ ┌──────────────────┐
Done Перезапуск (1 раз)│
└────┘ └────────┬─────────┘
v
┌─────────────────────┐
Ожидание 2 мин
└──────────┬──────────┘
v
┌─────────────────────┐
Повторная проверка
└───────┬──────┬──────┘
ОК │ Проблема
v v
┌────┐ ┌──────────────────┐
│Done│ │ Алерт в Zabbix │
└────┘ └──────────────────┘
v
┌─────────────────────┐
Heartbeat + cleanup
Сохранение состояния │
└─────────────────────┘
+------------------------+
| Загрузка состояния |
+-----------+------------+
v
+----------------------------+
| Получение списка DAG-ов |
| GET /api/v1/dags |
+-----------+----------------+
v
+----------------------------+
| Для каждого DAG: |
| GET /api/v1/dags/{id}/runs |
| (фильтр: running, failed) |
+-----------+----------------+
v
+--------------------+
| Анализ: проблемы? |
+---+------------+---+
нет | | да
v v
+------+ +-----------------+
| Done | | Перезапуск (x1) |
+------+ +--------+--------+
v
+-------------------+
| Ожидание 2 мин |
+--------+----------+
v
+-------------------+
| Повторная проверка |
+----+----------+---+
ОК | | Проблема
v v
+------+ +------------------+
| Done | | Экспорт в файлы |
+------+ | для Zabbix Agent |
+--------+---------+
v
+-------------------+
| Heartbeat+cleanup |
| Сохранение состоян.|
+-------------------+
```
### Обработка ошибок