Руководство по настройке мониторинга Wazzup24 в Zabbix
Для компаний, использующих мессенджеры, как главные каналы коммуникации с клиентами, важна их стабильная работа. Сбой в доступности канала — будь то отключение телефона, нехватка средств на балансе или ошибка авторизации — может привести к потере клиентов и ухудшению качество сервиса.
Настройка интеграции Wazzup24 с Zabbix позволяет организовать мониторинг каналов Wazzup, минимизировать риски и оперативно реагировать на проблемы.
В этом руководстве мы опишем процесс внедрения системы мониторинга с использованием шаблона Zabbix, который обеспечивает автоматическое обнаружение каналов и отслеживание 15 состояний с помощью триггеров состояния каналов.
Преимущества такого подхода:
Автоматическое подключение новых каналов без дополнительных настроек.
Поддержка WhatsApp, Avito, Telegram, Viber, ВКонтакте, Instagram и других платформ.
14 триггеров для выявления различных сбоев.
Возможность настройки интервалов проверки.
1. Подготовка к настройке
Требования для интеграции Wazzup24 с Zabbix:
Zabbix Server или Proxy версии 6.0 или выше.
API-ключ Wazzup24 с правами доступа к информации о каналах (доступен в личном кабинете Wazzup24).
Подключение к API по адресу: https://api.wazzup24.com/v3/channels.
2. Импорт шаблона
Скачайте файл шаблона Wazzup24.yaml
В Zabbix: Configuration → Templates → Import
Выберите файл и подтвердите импорт
3. Настройка макросов
Необходимые параметры:
4. Архитектура шаблона
4.1 Основной элемент данных
Название: Get Wazzup Channels Data
Тип: HTTP Agent
Ключ: wazzup.raw_data
Параметры:yamlCopyURL: https://api.wazzup24.com/v3/channels
Метод: GET
Заголовки: Authorization: Bearer {$API_KEY}
Интервал: 10 минут
4.2 Правило автоматического обнаружения (LLD)
Название: Wazzup Channels Data
Ключ: wazzup.channels.discovery
Макросы JSONPath:
5. Элементы данных каналов
5.1 Прототип элемента данных
Название: Название: {#NAME} | Тип: {#TRANSPORT} | Номер: {#PLAINID}
Ключ: wazzup.channel.state[{#CHANNELID}]
Препроцессинг:JSONPath: $[?(@.channelId == '{#CHANNELID}')].state.first()
Объяснение JSONPath:
$ - корень JSON-документа
[?(@.channelId == '...')] - фильтр по уникальному ID канала
.state.first() - извлечение строкового значения состояния
6. Триггеры и состояния каналов
Полный список состояний:
active - канал активен
blocked - заблокирован
foreignphone - QR-код отсканирован чужим аккаунтом
openelsewhere - авторизация в другом аккаунте
init - процесс запуска
onModeration - на модерации
unauthorized - не авторизован
notEnoughMoney - недостаточно средств
phoneUnavailable - нет связи с телефоном
waitForPassword - требуется пароль 2FA
qridle - ожидание сканирования QR-кода
rejected - отклонен
disabled - отключен
Другое - неизвестный статус
expression: 'last(/Wazzup24/wazzup.channel.state[{#CHANNELID}],#1)="foreignphone"'
name: 'Название: {#NAME} | Тип: {#TRANSPORT} | Номер: {#PLAINID} QR отсканирован некорректным аккаунтом'
priority: WARNING
Это элемент типа code его надо вставить как на странице Nginx + OsTicket
7. Подключение шаблона к хосту
Откройте Configuration → Hosts
Выберите целевой хост
В разделе Templates добавьте "Wazzup24"
На старнице Macros вставьте {$API_KEY} с вашим API ключом
Сохраните изменения
8. Верификация работы
Перейдите в Monitoring → Latest Data
Выберите ваш хост
Проверьте наличие элементов:
wazzup.raw_dataАвтообнаруженные каналы
9. Расширенные настройки
9.1 Настройка интервалов
Измените Update interval в элементе данных wazzup.raw_data для регулировки частоты опросов
Рекомендуемые значения: 5-15 минут
9.2 Обработка ошибок
Триггер "Данных нет": Срабатывает при отсутствии данных дольше {$NODATA_DURATION}
Неизвестный статус: Триггер "статус не определен" срабатывает, если пришли неизвестные данные.
Заключение
Настройка интеграции Wazzup24 с Zabbix обеспечивает надежный мониторинг каналов Wazzup с использованием автоматического обнаружения и триггеров состояния каналов. Это позволяет оперативно выявлять и устранять сбои, сохраняя стабильность коммуникаций и предотвращая потери бизнеса от пропущенных контактов с клиентами.