Введение
Сервер мониторинга NetPing 90Z04 — это готовое решение для развертывания системы контроля инфраструктуры в серверной комнате или центре обработки данных. Устройство поставляется с предустановленными операционной системой Ubuntu 20.04 LTS и платформой Zabbix, что позволяет приступить к мониторингу сразу после подключения к локальной сети.

Одним из ключевых требований к системе мониторинга является своевременная доставка оповещений — сигналов о нештатных ситуациях: отключении питания, превышении температурных порогов, срабатывании датчиков протечки, потере сетевой связности. Стандартные каналы оповещения (электронная почта, SMS) не всегда обеспечивают моментальную доставку уведомлений и требуют отдельной инфраструктуры.
В данной статье рассматривается интеграция сервера мониторинга NetPing 90Z04 с сервисом ntfy — простым и бесплатным инструментом для отправки push-уведомлений на смартфон или рабочий стол через обычный HTTP-запрос.
При использовании публичного сервера ntfy.sh устройство NetPing 90Z04 должно иметь исходящий доступ в интернет по протоколу HTTPS. Если объект работает в изолированной сети, серверную часть сервиса ntfy можно развернуть локально.
Что такое ntfy?

ntfy (произносится «notify») — это открытый HTTP-сервис для отправки push-уведомлений. Он работает по модели публикации и подписки (pub-sub): отправитель публикует сообщение в именованный топик, а подписчики получают его в режиме реального времени. Сервис не требует регистрации для базового использования.
Принцип работы
Взаимодействие с ntfy осуществляется через стандартные HTTP-запросы — PUT или POST. Топик создается автоматически в момент первой публикации или подписки. При использовании публичного сервера ntfy.sh доступ к уведомлениям на практике определяется знанием имени топика, поэтому рекомендуется использовать сложные и трудно угадываемые названия. Для корпоративной среды с повышенными требованиями к защите лучше использовать собственный сервер ntfy и механизмы аутентификации.
Пример минимальной команды для отправки уведомления:
curl -d «Температура в стойке превышена!» ntfy.sh/my-secret-topic-name

Получить уведомление можно несколькими способами:
- мобильное приложение для Android (Google Play или F-Droid) и iOS (App Store);
- веб-интерфейс по адресу ntfy.sh/app;
- десктопное приложение (PWA);
- командная строка (ntfy CLI).
Возможности сервиса
Помимо базовой отправки текста, сервис поддерживает расширенные параметры, которые задаются через HTTP-заголовки запроса:
| Параметр (заголовок) | Описание |
|---|---|
| Title | Заголовок уведомления |
| Priority | Приоритет: min, low, default, high, urgent |
| Tags | Теги и эмодзи для классификации уведомлений |
| Actions | Кнопки действий в уведомлении |
| Attach | Вложение файла (изображение, документ и т. д.) |
Сервис ntfy является программным обеспечением с открытым исходным кодом. Публичный сервер ntfy.sh доступен бесплатно. При необходимости сервис можно развернуть самостоятельно — на любом сервере с поддержкой Linux, что делает его применимым в закрытых корпоративных сетях без выхода в интернет.
Интеграция с сервером мониторинга NetPing 90Z04
Сервер мониторинга NetPing 90Z04 работает под управлением Ubuntu 20.04 LTS и имеет подключение к сети Ethernet. Это позволяет использовать любые инструменты командной строки, в том числе curl, для отправки HTTP-запросов к сервису ntfy.
Подготовка к работе
Перед настройкой интеграции выполните следующие шаги:
- Установите мобильное приложение ntfy на смартфон (Android или iOS);
- Придумайте уникальное имя топика, например: netping-dc01-alerts-x7k9m;
- Подпишитесь на этот топик в приложении;
- Убедитесь, что на устройстве NetPing 90Z04 установлен пакет curl. Для проверки подключитесь к устройству по SSH (порт 22) и выполните:
curl —version
Примечание. Подключение к SSH выполняется по адресу <ip-address>:22. Логин по умолчанию: visor, пароль: ping. На устройстве доступны права root.
Проверка отправки уведомлений
Для проверки работоспособности канала отправьте тестовое уведомление с устройства через SSH:
curl \
-H "Title: Тест NetPing" \
-H "Priority: default" \
-H "Tags: white_check_mark" \
-d "Тестовое оповещение от NetPing 90Z04" \
ntfy.sh/ваш-топик
Если уведомление появилось на смартфоне, канал работает корректно.

Настройка оповещений в Zabbix
Платформа Zabbix, предустановленная на сервере NetPing 90Z04, поддерживает отправку уведомлений через Webhook — встроенный механизм HTTP-интеграции, не требующий написания внешних скриптов. Веб-интерфейс Zabbix доступен по адресу http://<ip-address>:80.
Шаг 1. Создание Media type
Перейдите в Alerts → Media types → Create media type. Заполните поля на вкладке Media type:
- Name — ntfy
- Type — Webhook
- Parameters — добавьте три параметра: Message = {ALERT.MESSAGE}, Subject = {ALERT.SUBJECT}, URL = https://ntfy.sh/ваш-топик (укажите полный URL вашего топика, например https://ntfy.sh/netping-dc01-alerts-x7k9m )
- Script — JS-код webhook, который выполняет POST-запрос к ntfy. Нажмите на иконку редактирования и вставьте следующий код:
try { var params = JSON.parse(value); var req = new HttpRequest(); req.addHeader('Title: ' + params.Subject); var resp = req.post(params.URL, params.Message); if (req.getStatus() != 200) { throw 'ntfy error: ' + req.getStatus() + ' ' + resp; } return 'OK'; } catch (e) { throw e; }
Сохраните media type, нажав Update.

Шаг 2. Настройка шаблонов сообщений
Перейдите на вкладку Message templates. Для корректной отправки уведомлений через media type необходимо добавить шаблоны сообщений для событий Problem и Problem recovery. Без этого уведомления не будут сформированы в ожидаемом виде.
Шаблон 1 — Problem (тревога):

Шаблон 2 — Problem recovery (восстановление):

Шаг 3. Привязка media type к пользователю
Перейдите в Users → Users, откройте профиль нужного пользователя, вкладка Media → Add. Заполните поля:

Шаг 4. Создание Action
Перейдите в Alerts → Actions → Trigger actions → Create action. На вкладке Action задайте имя, например ntfy_alerts, и убедитесь, что включен чекбокс Enabled. На вкладке Operations:

- В блоке Operations нажмите Add. Откроется диалог Operation details: Operation = Send message, Send to users — выберите нужного пользователя (например visor), Send only to — выберите ntfy. Нажмите Update.
- В блоке Recovery operations нажмите Add и настройте аналогично — это обеспечит отправку уведомления при восстановлении после тревоги.

Нажмите Update для сохранения Action. После этого при срабатывании любого триггера Zabbix будет отправлять push-уведомление в приложение ntfy на смартфоне.
Наличие action обязательно: именно оно определяет, кому и через какой media type отправлять уведомления при срабатывании триггеров.
Шаг 5. Тестирование media type
Вернитесь в Alerts → Media types, откройте ntfy и нажмите кнопку Test в строке списка. В открывшемся диалоге поля Message и Subject заполнены автоматически макросами, а поле URL содержит адрес вашего топика из параметра. Нажмите Test — если все настроено верно, уведомление мгновенно придет в приложение ntfy на вашем смартфоне.

Результат настройки
После выполнения всех шагов система мониторинга NetPing 90Z04 с предустановленным Zabbix будет отправлять push-уведомления через сервис ntfy при срабатывании триггеров.
Ниже приведен пример того, как выглядят уведомления на стороне получателя. Внешний вид уведомлений зависит от настроенных шаблонов сообщений в Zabbix.


Уведомления доставляются мгновенно после срабатывания триггера и отображаются в приложении ntfy на мобильном устройстве или в веб-интерфейсе.
Заключение
Использование сервиса ntfy в связке с сервером мониторинга NetPing 90Z04 обеспечивает простой и надежный канал доставки push-уведомлений. Интеграция не требует сложной настройки: достаточно создать webhook media type в Zabbix, задать шаблоны сообщений и настроить действие на отправку уведомлений.
Ключевые преимущества описанного подхода:
- отправка уведомлений осуществляется одной командой curl — без установки дополнительного ПО;
- сервис ntfy бесплатен и работает без регистрации в базовом режиме;
- поддерживаются приоритеты сообщений, теги и эмодзи для быстрой визуальной идентификации типа события;
- при необходимости сервис можно развернуть на собственном сервере, что исключает зависимость от внешних ресурсов;
- в статье рассмотрен сценарий отправки уведомлений именно через платформу Zabbix, предустановленную на сервере мониторинга NetPing 90Z04.
Для повышения безопасности рекомендуется использовать сложные непредсказуемые имена топиков. При работе в корпоративной среде с повышенными требованиями к конфиденциальности рассмотрите вариант самостоятельного развертывания сервера ntfy в пределах локальной сети.
Подробная документация по настройке платформы Zabbix и встроенного ПО NetPing доступна на сайте производителя: https://netping.ru/products/netping-monitoring-server-90z04/