7 Ontdekking van systemd-services

Overzicht

Het is mogelijk om systemd-units (standaard services) te ontdekken met Zabbix.

Item sleutel

Het item dat gebruikt wordt in de ontdekkingsregel is:

systemd.unit.discovery

Deze item-sleutel wordt alleen ondersteund in Zabbix-agent 2.

Dit item retourneert een JSON met informatie over systemd-units, bijvoorbeeld:

[{
           "{#UNIT.NAME}": "mysqld.service",
           "{#UNIT.DESCRIPTION}": "MySQL-server",
           "{#UNIT.LOADSTATE}": "geladen",
           "{#UNIT.ACTIVESTATE}": "actief",
           "{#UNIT.SUBSTATE}": "lopend",
           "{#UNIT.FOLLOWED}": "",
           "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
           "{#UNIT.JOBID}": 0,
           "{#UNIT.JOBTYPE}": "",
           "{#UNIT.JOBPATH}": "/",
           "{#UNIT.UNITFILESTATE}": "ingeschakeld"
       }, {
           "{#UNIT.NAME}": "systemd-journald.socket",
           "{#UNIT.DESCRIPTION}": "Journalsokkel",
           "{#UNIT.LOADSTATE}": "geladen",
           "{#UNIT.ACTIVESTATE}": "actief",
           "{#UNIT.SUBSTATE}": "lopend",
           "{#UNIT.FOLLOWED}": "",
           "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
           "{#UNIT.JOBID}": 0,
           "{#UNIT.JOBTYPE}": "",
           "{#UNIT.JOBPATH}": "/",
           "{#UNIT.UNITFILESTATE}": "ingeschakeld"
       }]
Ontdekking van uitgeschakelde systemd-units

Sinds Zabbix 6.0.1 is het ook mogelijk om uitgeschakelde systemd-units te ontdekken. In dit geval worden er drie macro's geretourneerd in de resulterende JSON:

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

Om items en triggers te laten maken van prototypen voor uitgeschakelde systemd-units, zorg ervoor dat je de beperkende LLD-filters voor {#UNIT.ACTIVESTATE} en {#UNIT.UNITFILESTATE} aanpast (of verwijdert).

Ondersteunde macro's

De volgende macro's worden ondersteund voor gebruik in de discovery rule filter en prototypen van items, triggers en grafieken:

Macro Beschrijving
{#UNIT.NAME} Primaire naam van de eenheid.
{#UNIT.DESCRIPTION} Leesbare beschrijving.
{#UNIT.LOADSTATE} Laadstatus (of de eenheidsfile succesvol is geladen)
{#UNIT.ACTIVESTATE} Actieve status (of de eenheid op dit moment gestart is of niet)
{#UNIT.SUBSTATE} Substatus (een fijnmazigere versie van de actieve status die specifiek is voor het type eenheid, wat de actieve status niet is)
{#UNIT.FOLLOWED} Eenheid die gevolgd wordt in zijn status door deze eenheid, als dat het geval is; anders een lege string.
{#UNIT.PATH} Objectpad van de eenheid.
{#UNIT.JOBID} Numerieke taak-ID als er een taak in de wachtrij staat voor de taakeenheid; anders 0.
{#UNIT.JOBTYPE} Taaktype.
{#UNIT.JOBPATH} Objectpad van de taak.
{#UNIT.UNITFILESTATE} De installatiestatus van het eenheidsbestand.

Item prototypes

Item prototypes die kunnen worden aangemaakt op basis van de ontdekking van systemd-services zijn onder andere:

  • Itemnaam: {#UNIT.DESCRIPTION}; item-sleutel: systemd.unit.info["{#UNIT.NAME}"]
  • Itemnaam: {#UNIT.DESCRIPTION}; item-sleutel: systemd.unit.info["{#UNIT.NAME}",LoadState]

systemd.unit.info agentitems worden ondersteund sinds Zabbix 4.4.