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

3.7 KiB
Raw Permalink Blame History

Настройка 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 отправляет данные в следующем формате:

{
  "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 игнорируется)
  • Можно настроить фильтрацию по серьезности события