Существует возможность обнаружения модулей (units) systemd (службы, по умолчанию) с помощью Zabbix.
Элемент данных для использования в правиле обнаружения:
Этот ключ элемента данных поддерживается только в Zabbix агенте 2.
Этот элемент данных возвращает JSON с информацией о модулях (units) systemd, например:
[{
"{#UNIT.NAME}": "mysqld.service",
"{#UNIT.DESCRIPTION}": "MySQL Server",
"{#UNIT.LOADSTATE}": "loaded",
"{#UNIT.ACTIVESTATE}": "active",
"{#UNIT.SUBSTATE}": "running",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": "",
"{#UNIT.JOBPATH}": "/",
"{#UNIT.UNITFILESTATE}": "enabled"
}, {
"{#UNIT.NAME}": "systemd-journald.socket",
"{#UNIT.DESCRIPTION}": "Journal Socket",
"{#UNIT.LOADSTATE}": "loaded",
"{#UNIT.ACTIVESTATE}": "active",
"{#UNIT.SUBSTATE}": "running",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": "",
"{#UNIT.JOBPATH}": "/",
"{#UNIT.UNITFILESTATE}": "enabled"
}]
Начиная с версии Zabbix 6.0.1, возможно также обнаруживать и деактивированные (disabled) модули systemd. В этом случае в результирующем JSON-е возвращаются три макроса:
Чтобы из прототипов создавались элементы данных и триггеры для деактивированных модулей systemd, убедитесь, что подправлены (или удалены) запрещающие фильтры LLD для {#UNIT.ACTIVESTATE} и {#UNIT.UNITFILESTATE}.
Следующие макросы поддерживаются для использования в фильтре правил обнаружения и прототипах элементов данных, триггеров и графиков:
Макрос | Описание |
---|---|
{#UNIT.NAME} | Основное имя модуля. |
{#UNIT.DESCRIPTION} | Человеко-читаемое описание. |
{#UNIT.LOADSTATE} | Состояние загрузки (т.е. успешно ли загружен файл модуля) |
{#UNIT.ACTIVESTATE} | Активное состояние (т.е. запущен или нет модуль в данный момент) |
{#UNIT.SUBSTATE} | Подсостояние (более гранулярная версия активного состояния, нежели активное состояние, специфичная для типа модуля) |
{#UNIT.FOLLOWED} | Unit that is being followed in its state by this unit, если имеется; в противном случае пустая строка. |
{#UNIT.PATH} | Путь к объекту модуля. |
{#UNIT.JOBID} | Числовой идентификатор задачи (job ID), если имеется задача, поставленная в очередь для данного модуля задачи; 0 в противном случае. |
{#UNIT.JOBTYPE} | Тип задачи. |
{#UNIT.JOBPATH} | Путь к объекту задачи. |
{#UNIT.UNITFILESTATE} | Состояние установки файла модуля. |
Прототипы элементов данных, которые могут быть созданы на основе обнаружения служб systemd, включают, например:
{#UNIT.DESCRIPTION} active state info
; ключ элемента данных: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION} load state info
; ключ элемента данных: systemd.unit.info["{#UNIT.NAME}",LoadState]
Элемент данных systemd.unit.info
поддерживается с версии Zabbix 4.4.