Files
Sergey Antropov b90def35ed Initial commit: Message Gateway project
- FastAPI приложение для отправки мониторинговых алертов в мессенджеры
- Поддержка Telegram и MAX/VK
- Интеграция с Grafana, Zabbix, AlertManager
- Автоматическое создание тикетов в Jira
- Управление группами мессенджеров через API
- Декораторы для авторизации и скрытия эндпоинтов
- Подробная документация в папке docs/

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-11-12 20:25:11 +03:00

108 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Настройка Zabbix
## Создание Media Type
1. **Открытие настроек:**
- Откройте Zabbix и перейдите в раздел "Administration" → "Media types"
- Нажмите "Create media type"
2. **Настройка Media Type:**
- Заполните форму:
- **Name:** Message Gateway
- **Type:** Webhook
- **Script name:** message-gateway
- **Script parameters:**
```
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
```
- Сохраните настройки
3. **Создание 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"
- Сохраните настройки
4. **Настройка 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 отправляет данные в следующем формате:
```json
{
"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 игнорируется)
- Можно настроить фильтрацию по серьезности события