8 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

Vienums, ko izmantot atklāšanas kārtulā, ir

systemd.unit.discovery

Šī vienuma atslēga tiek atbalstīta tikai Zabbix aģents 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}": "Žurnāla ligzda",
    "{#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 arī atklāt atspējotas systemd vienības. Šajā gadījumā iegūtajā JSON tiek atgriezti trīs makrosi:

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

Lai no prototipiem tiktu izveidoti vienumi un trigeri atspējotām systemd vienībām, pārliecinieties, ka pielāgojat (vai noņemat) aizliedzošos LLD filtrus priekš {#UNIT.ACTIVESTATE} un {#UNIT.UNITFILESTATE}.

Atbalstītie makrosi

Tālāk norādītie makrosi tiek atbalstīti izmantošanai atklāšanas kārtulas filtrā un vienumu, trigeru un grafiku prototipos:

Macro Description
{#UNIT.NAME} Primārās vienības nosaukums.
{#UNIT.DESCRIPTION} Cilvēkam lasāms 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 ne).
{#UNIT.SUBSTATE} Apakšstāvoklis (smalkāk detalizēta aktīvā stāvokļa versija, kas ir specifiska vienības tipam, atšķirībā no aktīvā stāvokļa).
{#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 darba vienībai ir rindā ievietots darbs; pretējā gadījumā 0.
{#UNIT.JOBTYPE} Darba tips.
{#UNIT.JOBPATH} Darba objekta ceļš.
{#UNIT.UNITFILESTATE} Vienības faila instalēšanas stāvoklis.
{#UNIT.SERVICETYPE} Servisa vienības tips (piemēram, simple, forking, oneshot, idle u.c.). Šis makross tiek atgriezts tikai tad, ja vienība ir serviss.

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]