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