Добавить в корзинуПозвонить
Найти в Дзене

Настройка отправки уведомлений Zabbix в мессенджер MAX

Настройка отправки уведомлений в Zabbix в мессенджеры осуществляется путем настройки Media Type (типа медиа), скриптов и триггеров. Рассмотрим пошагово процесс настройки отправки уведомлений в Max.
### Шаг 1: Настройка среды Убедитесь, что сервер Zabbix имеет доступ к API мессенджера Max и установлен Python с библиотекой `requests` (или другим способом взаимодействия с HTTP). ```bash sudo apt install python3-pip pip3 install requests ``` ### Шаг 2: Создание скрипта отправки уведомления Создаем скрипт, который будет отправлять сообщение через API мессенджера Max. Например, назовем его `send_to_max.py`. Скрипт может выглядеть следующим образом: ```python #!/usr/bin/env python3 import sys import requests # Получаем аргументы командной строки to = sys.argv[1] subject = sys.argv[2] message = sys.argv[3] # Ваш токен API для Max token = 'your_api_token' url = f'https://api.max.ru/v1/sendMessage' headers = { 'Authorization': f'Bearer {token}', } data = { 'chat_id': to, 'text': subject + '\n\n

Настройка отправки уведомлений в Zabbix в мессенджеры осуществляется путем настройки Media Type (типа медиа), скриптов и триггеров. Рассмотрим пошагово процесс настройки отправки уведомлений в Max.

### Шаг 1: Настройка среды

Убедитесь, что сервер Zabbix имеет доступ к API мессенджера Max и установлен Python с библиотекой `requests` (или другим способом взаимодействия с HTTP).

```bash

sudo apt install python3-pip
pip3 install requests

```

### Шаг 2: Создание скрипта отправки уведомления

Создаем скрипт, который будет отправлять сообщение через API мессенджера Max. Например, назовем его `send_to_max.py`.

Скрипт может выглядеть следующим образом:

```python

#!/usr/bin/env python3
import sys
import requests
# Получаем аргументы командной строки
to = sys.argv[1]
subject = sys.argv[2]
message = sys.argv[3]
# Ваш токен API для Max
token = 'your_api_token'
url = f'https://api.max.ru/v1/sendMessage'
headers = {
'Authorization': f'Bearer {token}',
}
data = {
'chat_id': to,
'text': subject + '\n\n' + message
}
response = requests.post(url, headers=headers, json=data)
if response.status_code != 200:
print(f"Error sending notification: {response.text}")
else:
print("Notification sent successfully")

```

Этот скрипт принимает три аргумента: адресат (`to`), тему (`subject`) и тело сообщения (`message`). Скрипт делает POST-запрос к API Max с использованием вашего токена авторизации.

**Важно:** замените `your_api_token` на ваш реальный токен API мессенджера Max.

### Шаг 3: Создаем новый тип медиа (Media Type)

Открываем интерфейс веб-интерфейса Zabbix и переходим в **Администрирование → Типы медиа**. Нажмите **Создать медиату**, введите название типа («Max»), выберите способ передачи **Script**, и укажите путь к вашему скрипту (например `/etc/zabbix/scripts/send_to_max.py`):

| Параметр | Значение |

|----------|-----------|

| Имя | Max |

| Тип | Script |

| Команда | /etc/zabbix/scripts/send_to_max.py {"TO"},{"SUBJECT"},{"MESSAGE"} |

Нажмите **Обновить**.

### Шаг 4: Добавляем пользователей и назначаем им типы медиа

Переходите в **Администрирование → Пользователи**, выбирайте нужного пользователя и добавьте новый метод доставки уведомлений. Выберите созданный ранее тип медиа («Max») и заполните поля (например, ID чата или номер телефона — зависит от используемого формата адресации в вашем мессенджере Max).

| Адрес | Пример значения |

|---------|--------------------------|

| Chat ID | your_chat_id_or_phone_number |

### Шаг 5: Тестируем отправку уведомлений

Теперь создайте простой триггер, который проверяет состояние какого-нибудь элемента данных (item), и убедитесь, что уведомление отправляется в мессенджер Max.

Пример простого триггера:

```sql

{if(hostname.item[key].last() > threshold)}

```

При срабатывании триггера Zabbix отправит уведомление выбранному пользователю согласно настройкам типов медиа.

---

Таким образом, теперь ваша система мониторинга Zabbix сможет отправлять уведомления прямо в мессенджер Max!