Модуль интеграции Zabbix Agent с MikoPBX. Собирает и отправляет метрики АТС на сервер Zabbix для мониторинга.
- Zabbix Agent 6.0 LTS (v6.0.44), статически слинкован (без внешних зависимостей)
- Поддержка архитектур x86_64 и ARM64 (aarch64)
- Веб-интерфейс для редактирования
zabbix_agentd.conf - Отображение статуса сервиса в реальном времени (состояние, PID, версия, порт, сервер)
- Кнопка скачивания шаблона Zabbix для импорта на сервер Zabbix
- REST API v3 с автообнаружением (PHP 8 атрибуты, паттерн Processor + Actions)
- Автоматическое управление сервисом (старт/стоп/рестарт)
- Правило файрвола для порта Zabbix (по умолчанию 10050)
- Проверка состояния сервиса по cron каждые 5 минут
- Откройте веб-интерфейс MikoPBX
- Перейдите в Module -> Marketplace
- Найдите "Zabbix" в строке поиска
- Нажмите Install
- Скачайте
.zipархив из GitHub Releases - В веб-интерфейсе MikoPBX перейдите в Module -> Install module from file
- Загрузите скачанный архив
- После установки откройте модуль в веб-интерфейсе MikoPBX
- В редакторе конфигурации укажите адрес вашего Zabbix-сервера:
Server=<IP-адрес Zabbix-сервера>ServerActive=<IP-адрес Zabbix-сервера>
- Сохраните конфигурацию -- сервис перезапустится автоматически
- Импортируйте шаблон в Zabbix:
- Скачайте шаблон через кнопку в веб-интерфейсе модуля
- В Zabbix перейдите в Configuration -> Templates -> Import
- Выберите скачанный YAML-файл и нажмите Import
Все метрики доступны через UserParameter ключ asterisk[<функция>].
| Метрика | Ключ Zabbix |
|---|---|
| Активные вызовы (Asterisk CLI) | asterisk[callsActive] |
| Обработанные вызовы | asterisk[callsProcessed] |
| Активные каналы | asterisk[channelsActive] |
| Входящие вызовы (через API) | asterisk[countInCalls] |
| Исходящие вызовы (через API) | asterisk[countOutCalls] |
| Внутренние вызовы (через API) | asterisk[countInnerCalls] |
| SIP-пиры (всего) | asterisk[countSipPeers] |
| SIP-пиры (онлайн) | asterisk[CountActivePeers] |
| SIP-транки (онлайн) | asterisk[CountActiveProviders] |
| SIP-транки (офлайн) | asterisk[CountNonActiveProviders] |
| Аптайм Asterisk | asterisk[statusUptime] |
| Время последнего reload | asterisk[statusReload] |
| Версия Asterisk | asterisk[version] |
| Статус Asterisk (1/0) | asterisk[status] |
| Метрика | Ключ Zabbix |
|---|---|
| Статус регистрации транка | asterisk[trunkStatus,{#TRUNKID}] |
| Входящие звонки за час | asterisk[trunkCalls,{#TRUNKID},hour,incoming,totalCalls] |
| Исходящие звонки за час | asterisk[trunkCalls,{#TRUNKID},hour,outgoing,totalCalls] |
| Входящие звонки за сутки | asterisk[trunkCalls,{#TRUNKID},day,incoming,totalCalls] |
| Исходящие звонки за сутки | asterisk[trunkCalls,{#TRUNKID},day,outgoing,totalCalls] |
| Отвеченные входящие за час | asterisk[trunkCalls,{#TRUNKID},hour,incoming,answeredCalls] |
| Отвеченные исходящие за час | asterisk[trunkCalls,{#TRUNKID},hour,outgoing,answeredCalls] |
| Метрика | Ключ Zabbix |
|---|---|
| Общий размер | vfs.fs.size[/storage,total] |
| Занято | vfs.fs.size[/storage,used] |
| Свободно | vfs.fs.size[/storage,free] |
| Свободно (%) | vfs.fs.size[/storage,pfree] |
REST API v3 эндпоинты (автообнаружение через PHP 8 атрибуты):
| Метод | Эндпоинт | Описание |
|---|---|---|
| GET | /pbxcore/api/v3/module-zabbix-agent5/status:getStatus |
Статус сервиса (запущен, PID, версия, порт, сервер) |
| GET | /pbxcore/api/v3/module-zabbix-agent5/status:downloadTemplate |
Скачать шаблон Zabbix в формате YAML |
Включённый шаблон (bin/zbx_export_templates.yaml) содержит:
- Все элементы данных Asterisk
- LLD SIP-транков со статусом и статистикой звонков по каждому транку
- Мониторинг диска /storage с триггерами (WARNING <10%, HIGH <5%)
- Графики: обзор звонков, SIP-эндпоинты, звонки по транкам за час, использование хранилища
- Триггеры: Asterisk не запущен, неактивные транки, нет SIP-пиров, нет данных от агента
Бинарники собираются автоматически в GitHub Actions:
- AMD64: нативная сборка на Alpine Linux с musl (статическая линковка)
- ARM64: кросс-компиляция на AMD64 с помощью
aarch64-linux-gnu-gcc
Оба варианта -- полностью статически слинкованные бинарники с поддержкой OpenSSL.
- Issues на GitHub
- Документация
- Email: help@miko.ru
- Telegram: @mikaboris
- MikoPBX 2025.1.1+
GPL-3.0-or-later