systemd pakalpojumu atklāšana

Pārskats

Ir iespējams ar Zabbix palīdzību atklāt systemd vienības (pēc noklusējuma — pakalpojumus).

Vienuma atslēga

Lai konfigurētu atklāšanas noteikumu, izmantojiet Zabbix aģenta vienuma atslēgu systemd.unit.discovery.

Šī vienuma atslēga tiek atbalstīta tikai Zabbix aģentā 2.

Šis vienums atgriež JSON ar informāciju par systemd vienībām, piemēram:

[{
    "{#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"
}]
Atspējotu systemd vienību atklāšana

Ir iespējams atklāt arī atspējotas systemd vienības. Šādā gadījumā iegūtajā JSON tiek atgrieztas trīs makro:

  • {#UNIT.PATH}
  • {#UNIT.ACTIVESTATE}
  • {#UNIT.UNITFILESTATE}

Lai no prototipiem tiktu izveidoti vienumi un trigeri atspējotām systemd vienībām, pārliecinieties, ka ir pielāgoti (vai noņemti) aizliedzošie LLD filtri {#UNIT.ACTIVESTATE} un {#UNIT.UNITFILESTATE}.

Atbalstītie makrosi

Tālāk norādītie makrosi ir atbalstīti lietošanai atklāšanas noteikuma filtrā un vienumu, trigeru un grafiku prototipos:

Macro Description
{#UNIT.NAME} Primārā vienības nosaukums.
{#UNIT.DESCRIPTION} Cilvēkam saprotams apraksts.
{#UNIT.LOADSTATE} Ielādes stāvoklis (t. i., vai vienības fails ir veiksmīgi ielādēts)
{#UNIT.ACTIVESTATE} Aktīvais stāvoklis (t. i., vai vienība pašlaik ir palaista vai nav)
{#UNIT.SUBSTATE} Apakšstāvoklis (detalizētāka aktīvā stāvokļa versija, kas ir specifiska vienības tipam un nav aktīvais stāvoklis)
{#UNIT.FOLLOWED} Vienība, kuras stāvoklim šī vienība seko, ja tāda ir; pretējā gadījumā tukša virkne.
{#UNIT.PATH} Vienības objekta ceļš.
{#UNIT.JOBID} Skaitlisks darba ID, ja vienībai ir rindā ievietots darbs; citādi 0.
{#UNIT.JOBTYPE} Darba tips.
{#UNIT.JOBPATH} Darba objekta ceļš.
{#UNIT.UNITFILESTATE} Vienības faila instalēšanas stāvoklis.
{#UNIT.SERVICETYPE} Pakalpojuma vienības tips (piem., simple, forking, oneshot, idle utt.). Šis makross tiek atgriezts tikai tad, ja vienība ir pakalpojums.

Vienumu prototipi

Vienumu prototipi, kurus var izveidot, pamatojoties uz systemd servisu atklāšanu, ietver, piemēram:

  • Vienuma nosaukums: {#UNIT.DESCRIPTION} active state info; vienuma atslēga: systemd.unit.info["{#UNIT.NAME}"]
  • Vienuma nosaukums: {#UNIT.DESCRIPTION} load state info; vienuma atslēga: systemd.unit.info["{#UNIT.NAME}",LoadState]