С Zabbix имеется возможность обнаружения systemd модулей (сервисов, по умолчанию).
Ключом элемента данных, который используется в правиле обнаружения является
Этот ключ элемента данных поддерживается только в Zabbix агент 2.
Этот элемент данных возвращает JSON с информацией о 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.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.NAME} | Имя основного модуля. |
{#UNIT.DESCRIPTION} | Удобочитаемое описание. |
{#UNIT.LOADSTATE} | Состояние загрузки (то есть был ли файл модуля загружен успешно) |
{#UNIT.ACTIVESTATE} | Состояние активности (то есть запущен ли в данный момент модуль или нет) |
{#UNIT.SUBSTATE} | Подстостояние (более детальная версия состояния активности, которое специфично для типа этого модуля, какое состояние не является активным) |
{#UNIT.FOLLOWED} | Модуль, за которым следует в этом состояние этот модуль, если имеется какой-либо; в противном случае пустая строка. |
{#UNIT.PATH} | Путь объекта модуля. |
{#UNIT.JOBID} | Числовой ID задачи, если у модуля задач имеется задача помещённая в очередь; 0 в противном случае. |
{#UNIT.JOBTYPE} | Тип задачи. |
{#UNIT.JOBPATH} | Путь объекта задачи. |
На основе обнаружения systemd сервисов можно создать прототипы элементов данных, включая, к примеру:
{#UNIT.DESCRIPTION}
; ключ элемента данных: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION}
; ключ элемента данных: systemd.unit.info["{#UNIT.NAME}",LoadState]
Элементы данных агента systemd.unit.info
поддерживаются начиная Zabbix 4.4.