Het is mogelijk om systemd-units (standaard services) te ontdekken met Zabbix.
Het item dat gebruikt wordt in de ontdekkingsregel is:
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"
}]
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:
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).
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 die kunnen worden aangemaakt op basis van de ontdekking van systemd-services zijn onder andere:
{#UNIT.DESCRIPTION}
; item-sleutel: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION}
; item-sleutel: systemd.unit.info["{#UNIT.NAME}",LoadState]
systemd.unit.info
agentitems worden ondersteund sinds Zabbix 4.4.