8 Откривање системских услуга

Преглед

Могуће је открити systemd јединице (услуге, подразумевано) са Zabbix-ом.

Кључ ставке

Ставка која се користи у откриће правило је

systemd.unit.discovery

Ово ставке кључ је подржано само у Zabbix агенту 2.

Ова ставка враћа JSON са информацијама о системским јединицама, за пример:

[{
           "{#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.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}.

Подржани макрои

Следећи макрои су подржани за коришћење у правилу откривања филтер и прототипови ставки, покретача и графикона:

Macro Description
{#UNIT.NAME} Име примарне јединице.
{#UNIT.DESCRIPTION} Људски читљив опис.
{#UNIT.LOADSTATE} Стање учитавања (тј. да ли је датотека јединице успешно учитана)
{#UNIT.ACTIVESTATE} Активно стање (тј. да ли је јединица тренутно покренута или не)
{#UNIT.SUBSTATE} Подстање (детаљнија верзија активног стања која је специфична за тип јединице, а активно стање није)
{#UNIT.FOLLOWED} Јединица коју ова јединица прати у свом стању, ако постоји; иначе празан низ.
{#UNIT.PATH} Путања објекта јединице.
{#UNIT.JOBID} Нумерички ID посла ако постоји посао у реду за јединицу посла; 0 иначе.
{#UNIT.JOBTYPE} Тип посла.
{#UNIT.JOBPATH} Путања објекта посла.
{#UNIT.UNITFILESTATE} Стање инсталације датотеке јединице.

Прототипови предмета

Прототипови ставки који се могу креирати на основу откривања системд сервиса укључују, на пример:

  • Назив ставке: {#UNIT.DESCRIPTION} информације о активном стању; кључ ставке: systemd.unit.info["{#UNIT.NAME}"]
  • Име ставке: {#UNIT.DESCRIPTION} информације о стању учитавања; кључ ставке: systemd.unit.info["{#UNIT.NAME}",LoadState]