С 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.