5 Обнаружение systemd сервисов

Обзор

С Zabbix имеется возможность обнаружения systemd модулей (сервисов, по умолчанию).

Ключ элемента данных

Ключом элемента данных, который используется в правиле обнаружения является

systemd.unit.discovery

Этот ключ элемента данных поддерживается только в 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.