[comment]: # ({1825d7ea-ec525f2f})
# 8 Descoberta de serviços systemd

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

[comment]: # ({f72274ad-6e5dadb8})
#### Visão geral

É possível [descobrir](/manual/discovery/low_level_discovery)
unidades systemd (serviços, por padrão) com Zabbix.

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

[comment]: # ({d54e30df-e655c9cf})
### Chave do item

O item a ser usado na [regra de
descoberta](/manual/discovery/low_level_discovery#discovery-rule) é

    systemd.unit.discovery

::: noteimportant
Esta chave de
[item](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) é
compatível apenas com o Zabbix agent 2.
:::

Este item retorna um JSON com informações sobre unidades systemd, por
exemplo:

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

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

[comment]: # ({cbc19e2b-2d3b32d7})
##### Descoberta de unidades systemd desabilitadas

Também é possível descobrir unidades systemd **desabilitadas**. Neste caso,
três macros são retornadas no JSON resultante:

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

::: noteimportant
Para que items e triggers sejam criados a partir de protótipos para unidades systemd desabilitadas, certifique-se de
ajustar (ou remover) os filtros LLD proibitivos para {#UNIT.ACTIVESTATE} e {#UNIT.UNITFILESTATE}.
:::

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

[comment]: # ({036aea3f-0272b801})
### Macros suportadas

As macros a seguir são suportadas para uso no
[filtro](/manual/discovery/low_level_discovery#discovery-rule-filter)
da regra de descoberta e nos protótipos de itens, triggers e gráficos:

|Macro|Descrição|
|-----|-----------|
|{\#UNIT.NAME}|Nome da unidade principal.|
|{\#UNIT.DESCRIPTION}|Descrição legível por humanos.|
|{\#UNIT.LOADSTATE}|Estado de carregamento (ou seja, se o arquivo da unidade foi carregado com sucesso)|
|{\#UNIT.ACTIVESTATE}|Estado ativo (ou seja, se a unidade está iniciada no momento ou não)|
|{\#UNIT.SUBSTATE}|Subestado (uma versão mais detalhada do estado ativo, específica para o tipo de unidade, ao contrário do estado ativo)|
|{\#UNIT.FOLLOWED}|Unidade cujo estado está sendo seguido por esta unidade, se houver; caso contrário, uma string vazia.|
|{\#UNIT.PATH}|Caminho do objeto da unidade.|
|{\#UNIT.JOBID}|ID numérico do job, se houver um job enfileirado para a unidade do job; caso contrário, 0.|
|{\#UNIT.JOBTYPE}|Tipo de job.|
|{\#UNIT.JOBPATH}|Caminho do objeto do job.|
|{\#UNIT.UNITFILESTATE}|O estado de instalação do arquivo da unidade.|

[comment]: # ({/036aea3f-0272b801})

[comment]: # ({93b3d9f5-c8363d40})
### Protótipos de item

Protótipos de item que podem ser criados com base na descoberta de serviços systemd
incluem, por exemplo:

-   Nome do item: `{#UNIT.DESCRIPTION} active state info`; chave do item:
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Nome do item: `{#UNIT.DESCRIPTION} load state info`; chave do item:
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

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