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 noteikumā, ir

systemd.unit.discovery

Šī vienuma atslēga ir 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.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 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 ir atbalstīti izmantošanai atklāšanas noteikuma filtrā un vienumu, trigeru un grafiku prototipos:

Makross Apraksts
{#UNIT.NAME} Primārā vienības nosaukums.
{#UNIT.DESCRIPTION} Cilvēklasā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 nav)
{#UNIT.SUBSTATE} Apakšstāvoklis (detalizētāka aktīvā stāvokļa versija, kas ir specifiska vienības tipam un nav tas pats, kas 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 šai darba vienībai ir rindā gaidošs darbs; citādi 0.
{#UNIT.JOBTYPE} Darba tips.
{#UNIT.JOBPATH} Darba objekta ceļš.
{#UNIT.UNITFILESTATE} Vienības faila instalēšanas stāvoklis.

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]