Данный мануал описывает корректную и воспроизводимую схему интеграции Zabbix с Abills с использованием Zabbix Agent и кастомных скриптов, без внесения изменений в ядро Abills и без нестандартных механизмов выполнения команд.
Решение предназначено для:
получения статистических данных из Abills;
дальнейшего расширения перечня метрик без изменения архитектуры;
централизованного мониторинга через Zabbix.
Документ ориентирован на системных администраторов и инженеров, которые настраивают Zabbix на стороне сервера Abills.
Интеграция построена по следующей логике:
Zabbix Server запрашивает значения у Zabbix Agent;
Zabbix Agent получает данные через заранее определённые локальные скрипты;
скрипты выполняются в файловой системе сервера Abills и возвращают числовые значения;
Zabbix Server сохраняет и отображает полученные данные.
Ключевые особенности подхода:
используется только Zabbix Agent, без remote execution;
вызовы скриптов жёстко зафиксированы (без параметров, передаваемых извне);
расширение набора метрик осуществляется добавлением новых скриптов и UserParameter;
архитектура подходит как для текущих, так и для будущих метрик.
Zabbix Server |
В процессе настройки используются стандартные механизмы Zabbix и Linux, без обходных решений:
Zabbix Agent работает от отдельного системного пользователя;
выполнение скриптов ограничено правами доступа и ownership;
запрещено удалённое выполнение произвольных команд;
сетевой доступ к агенту не используется;
Zabbix Web и права пользователей настраиваются отдельно.
Эти меры не усложняют дальнейшее расширение, но позволяют избежать типичных проблем при эксплуатации.
В документе описывается:
установка и базовая настройка Zabbix;
подготовка среды для кастомных метрик;
корректное подключение скриптов Abills;
импорт шаблонов и привязка к хостам;
настройка прав доступа в Zabbix.
В документе не фиксируется конкретный перечень данных, так как:
метод универсален;
набор метрик может расширяться без изменения базовой схемы.
После выполнения всех шагов:
Zabbix получает данные от Abills через Zabbix Agent;
значения корректно отображаются в интерфейсе Zabbix;
архитектура готова к добавлению новых метрик;
настройка соответствует рекомендуемой практике эксплуатации.
Перед началом настройки необходимо убедиться, что:
сервер Abills установлен и корректно функционирует;
доступ к серверу осуществляется с правами root;
операционная система — Linux (описание ориентировано на Ubuntu);
допустима установка Zabbix Server, Zabbix Agent и Web-интерфейса на том же сервере.
Интеграция реализуется без изменений в ядре Abills и не требует установки дополнительных модулей в Abills.
Получение данных из Abills реализуется через:
кастомные локальные скрипты;
Zabbix Agent;
стандартный механизм UserParameter.
Скрипты:
размещаются в файловой системе сервера;
выполняются локально;
возвращают числовые значения;
не принимают параметры извне.
На момент начала настройки:
каталог /usr/abills/misc/zabbix может отсутствовать;
скрипты для интеграции с Zabbix не входят в стандартную поставку Abills;
добавление скриптов выполняется вручную и контролируемо.
Это является нормальным и ожидаемым состоянием.
Для размещения скриптов создаётся отдельный каталог:
mkdir -p /usr/abills/misc/zabbix |