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

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

Šī vienuma atslēga ir atbalstīta tikai Zabbix agent 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]