[comment]: # ({1825d7ea-ec525f2f})
# 8 Wykrywanie usług systemd

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

[comment]: # ({f72274ad-6e5dadb8})
### Przegląd

Możliwe jest [wykrywanie](/manual/discovery/low_level_discovery)
jednostek systemd (domyślnie usług) za pomocą Zabbix.

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

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

Pozycją do użycia w [regule
odkrywania](/manual/discovery/low_level_discovery#discovery-rule) jest

    systemd.unit.discovery

::: noteimportant
Ten klucz
[pozycji](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) jest
obsługiwany tylko w Zabbix agent 2.
:::

Ta pozycja zwraca JSON z informacjami o jednostkach systemd, na
przykład:

    [{
        "{#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})
##### Wykrywanie wyłączonych jednostek systemd

Możliwe jest również wykrywanie **wyłączonych** jednostek systemd. W takim przypadku
w wynikowym JSON zwracane są trzy makra:

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

::: noteimportant
Aby pozycje i wyzwalacze były tworzone z prototypów dla wyłączonych jednostek systemd, upewnij się, że
dostosowano (lub usunięto) blokujące filtry LLD dla {#UNIT.ACTIVESTATE} i {#UNIT.UNITFILESTATE}.
:::

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

[comment]: # ({9bd149f1-0272b801})
### Obsługiwane makra

Następujące makra są obsługiwane do użycia w [filtrze](/manual/discovery/low_level_discovery#discovery-rule-filter) reguły wykrywania oraz w prototypach pozycji, wyzwalaczy i wykresów:

|Makro|Opis|
|-----|-----------|
|{\#UNIT.NAME}|Nazwa podstawowej jednostki.|
|{\#UNIT.DESCRIPTION}|Opis czytelny dla człowieka.|
|{\#UNIT.LOADSTATE}|Stan załadowania (tj. czy plik jednostki został pomyślnie załadowany).|
|{\#UNIT.ACTIVESTATE}|Stan aktywności (tj. czy jednostka jest obecnie uruchomiona, czy nie).|
|{\#UNIT.SUBSTATE}|Stan podrzędny (bardziej szczegółowa wersja stanu aktywności, specyficzna dla typu jednostki, w przeciwieństwie do samego stanu aktywności).|
|{\#UNIT.FOLLOWED}|Jednostka, której stan jest śledzony przez tę jednostkę, jeśli taka istnieje; w przeciwnym razie pusty ciąg znaków.|
|{\#UNIT.PATH}|Ścieżka obiektu jednostki.|
|{\#UNIT.JOBID}|Numeryczny identyfikator zadania, jeśli dla jednostki zadania znajduje się zadanie w kolejce; w przeciwnym razie `0`.|
|{\#UNIT.JOBTYPE}|Typ zadania.|
|{\#UNIT.JOBPATH}|Ścieżka obiektu zadania.|
|{\#UNIT.UNITFILESTATE}|Stan instalacji pliku jednostki.|
|{\#UNIT.SERVICETYPE}|Typ jednostki usługi (np. `simple`, `forking`, `oneshot`, `idle` itd.). To makro jest zwracane tylko wtedy, gdy jednostka jest usługą.|

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

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

Prototypy pozycji, które można utworzyć na podstawie wykrywania usług systemd,
obejmują na przykład:

-   Nazwa pozycji: `{#UNIT.DESCRIPTION} active state info`; klucz pozycji:
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Nazwa pozycji: `{#UNIT.DESCRIPTION} load state info`; klucz pozycji:
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

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