[comment]: # ({1825d7ea-ec525f2f})
# 8 Individuazione dei servizi systemd

[comment]: # ({/1825d7ea-ec525f2f})

[comment]: # ({f72274ad-6e5dadb8})
### Panoramica

È possibile [individuare](/manual/discovery/low_level_discovery)
le unità systemd (i servizi, per impostazione predefinita) con Zabbix.

[comment]: # ({/f72274ad-6e5dadb8})

[comment]: # ({1b3710b6-e655c9cf})
### Chiave item

L'item da utilizzare nella [regola di
discovery](/manual/discovery/low_level_discovery#discovery-rule) è

    systemd.unit.discovery

::: noteimportant
Questa chiave
[item](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) è
supportata solo in Zabbix agent 2.
:::

Questo item restituisce un JSON con informazioni sulle unità systemd, ad
esempio:

    [{
        "{#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}": "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"
    }]

[comment]: # ({/1b3710b6-e655c9cf})

[comment]: # ({cbc19e2b-2d3b32d7})
##### Individuazione delle unità systemd disabilitate

È anche possibile individuare le unità systemd **disabilitate**. In questo caso, 
nel JSON risultante vengono restituite tre macro: 

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

::: noteimportant
Per fare in modo che item e trigger vengano creati dai prototipi per le unità systemd disabilitate, assicurati di 
modificare (o rimuovere) i filtri LLD che ne impediscono la creazione per {#UNIT.ACTIVESTATE} e {#UNIT.UNITFILESTATE}.
:::

[comment]: # ({/cbc19e2b-2d3b32d7})

[comment]: # ({9bd149f1-0272b801})
### Macro supportate

Le seguenti macro sono supportate per l'uso nel
[filtro](/manual/discovery/low_level_discovery#discovery-rule-filter)
della regola di individuazione e nei prototipi di item, trigger e grafici:

|Macro|Descrizione|
|-----|-----------|
|{\#UNIT.NAME}|Nome dell'unità primaria.|
|{\#UNIT.DESCRIPTION}|Descrizione leggibile dall'utente.|
|{\#UNIT.LOADSTATE}|Stato di caricamento (cioè se il file dell'unità è stato caricato correttamente).|
|{\#UNIT.ACTIVESTATE}|Stato attivo (cioè se l'unità è attualmente avviata oppure no).|
|{\#UNIT.SUBSTATE}|Sotto-stato (una versione più dettagliata dello stato attivo, specifica per il tipo di unità, a differenza dello stato attivo).|
|{\#UNIT.FOLLOWED}|Unità il cui stato viene seguito da questa unità, se presente; altrimenti una stringa vuota.|
|{\#UNIT.PATH}|Percorso dell'oggetto unità.|
|{\#UNIT.JOBID}|ID numerico del job se è presente un job in coda per l'unità del job; `0` in caso contrario.|
|{\#UNIT.JOBTYPE}|Tipo di job.|
|{\#UNIT.JOBPATH}|Percorso dell'oggetto job.|
|{\#UNIT.UNITFILESTATE}|Stato di installazione del file dell'unità.|
|{\#UNIT.SERVICETYPE}|Tipo dell'unità di servizio (ad esempio `simple`, `forking`, `oneshot`, `idle`, ecc.). Questa macro viene restituita solo se l'unità è un servizio.|

[comment]: # ({/9bd149f1-0272b801})

[comment]: # ({93b3d9f5-c8363d40})
### Prototipi di item

I prototipi di item che possono essere creati in base al rilevamento dei servizi systemd
includono, ad esempio:

-   Nome item: `{#UNIT.DESCRIPTION} informazioni sullo stato attivo`; chiave item:
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Nome item: `{#UNIT.DESCRIPTION} informazioni sullo stato di caricamento`; chiave item:
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

[comment]: # ({/93b3d9f5-c8363d40})
