- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
3.7 KiB
3.7 KiB
Настройка Zabbix
Создание Media Type
-
Открытие настроек:
- Откройте Zabbix и перейдите в раздел "Administration" → "Media types"
- Нажмите "Create media type"
-
Настройка Media Type:
- Заполните форму:
- Name: Message Gateway
- Type: Webhook
- Script name: message-gateway
- Script parameters:
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
- Сохраните настройки
- Заполните форму:
-
Создание Action:
- Перейдите в раздел "Configuration" → "Actions" → "Trigger actions"
- Нажмите "Create action"
- Заполните форму:
- Name: Send to Message Gateway
- Conditions: выберите условия (например, "Trigger severity" = "High")
- Operations: добавьте операцию "Send to Message Gateway"
- Recovery operations: добавьте операцию "Send to Message Gateway"
- Сохраните настройки
-
Настройка User Media:
- Откройте пользователя в Zabbix
- В разделе "Media" добавьте новый media:
- Type: Message Gateway
- Send to:
monitoring/0(формат:{group_name}/{thread_id}) - When active: 1-7,00:00-24:00
- Сохраните настройки
Пример конфигурации
Media Type в Zabbix:
- Name: Message Gateway
- Type: Webhook
- Script name: message-gateway
- Script parameters:
{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
Action:
- Name: Send to Message Gateway
- Conditions: Trigger severity = High
- Operations: Send to Message Gateway
- Recovery operations: Send to Message Gateway
User Media:
- Type: Message Gateway
- Send to:
monitoring/0 - When active: 1-7,00:00-24:00
Формат данных
Zabbix отправляет данные в следующем формате:
{
"link": "https://zabbix.example.com/tr_events.php?triggerid=42667&eventid=8819711",
"status": "PROBLEM",
"action-id": "7",
"alert-subject": "Problem: High CPU utilization (over 90% for 5m)",
"alert-message": "Problem started at 16:48:44 on 2024.02.08",
"event-id": "8819711",
"event-name": "High CPU utilization (over 90% for 5m)",
"event-nseverity": "2",
"event-opdata": "Current utilization: 95.2 %",
"event-severity": "Warning",
"host-name": "pnode28",
"host-ip": "10.14.253.38",
"host-port": "10050"
}
Поддерживаемые статусы
PROBLEM- проблема обнаруженаOK- проблема разрешена
Уровни серьезности
Disaster- катастрофаHigh- высокаяWarning- предупреждениеAverage- средняяInformation- информация
Примечания
- Не требует авторизации (API ключ не нужен)
- Если Jira включена, будет автоматически создан тикет в Jira (внутренний процесс)
- В сообщении будет добавлена кнопка для перехода к тикету в Jira (если поддерживается мессенджером)
- Ссылка на событие Zabbix будет добавлена в сообщение
- Thread ID поддерживается только для Telegram (для MAX/VK игнорируется)
- Можно настроить фильтрацию по серьезности события