8 Откривање системских услуга
Преглед
Могуће је открити 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-у:
- {#UNIT.PATH}
- {#UNIT.ACTIVESTATE}
- {#UNIT.UNITFILESTATE}.
Да бисте направили ставке и окидаче од прототипова за онеспособљене системске јединице, обавезно подесите (или уклоните) забрањујуће 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]