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]