Могуће је открити systemd јединице (услуге, подразумевано) са Zabbix-ом.
Ставка која се користи у discovery правилу је
systemd.unit.discovery
Овај item кључ је подржан само у 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.UNITFILESTATE}": "enabled" "{#UNIT.SERVICETYPE}": "simple" }, { "{#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" }]
Такође је могуће открити онемогућене системске јединице. У овом случају три макроа се враћају у резултујућем JSON-у:
Да бисте направили ставке и окидаче од прототипова за онеспособљене системске јединице, обавезно подесите (или уклоните) забрањујуће LLD филтере за {#UNIT.ACTIVESTATE} и {#UNIT.UNITFILESTATE}.
Следећи макрои су подржани за употребу у правилу откривања filter и прототиповима ставки, окидача и графикона:
Macro | Description |
---|---|
{#UNIT.NAME} | Назив примарне јединице. |
{#UNIT.DESCRIPTION} | Људски читљив опис. |
{#UNIT.LOADSTATE} | Стање учитавања (тј. да ли је датотека јединице успешно учитана) |
{#UNIT.ACTIVESTATE} | Активно стање (тј. да ли је јединица тренутно покренута или не) |
{#UNIT.SUBSTATE} | Подстање (прецизнија верзија активног стања која је специфична за тип јединице, што активно стање није) |
{#UNIT.FOLLOWED} | Јединица коју ова јединица прати у свом стању, ако постоји; у супротном празан стринг. |
{#UNIT.PATH} | Путања објекта јединице. |
{#UNIT.JOBID} | Нумерички ИД задатка ако постоји задатак у реду чекања за јединицу задатка; 0 у супротном. |
{#UNIT.JOBTYPE} | Тип задатка. |
{#UNIT.JOBPATH} | Путања објекта задатка. |
{#UNIT.UNITFILESTATE} | Стање инсталације датотеке јединице. |
{#UNIT.SERVICETYPE} | Тип јединице сервиса (нпр., simple , forking , oneshot , idle , итд.). Овај макро се враћа само ако је јединица сервис. |
Прототипови ставки који се могу креирати на основу откривања systemd сервиса укључују, на пример:
{#UNIT.DESCRIPTION} информације о активном стању
; кључ ставке: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION} информације о стању учитавања
; кључ ставке: systemd.unit.info["{#UNIT.NAME}",LoadState]