Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

7 systemdサービスの検出

概要

Zabbixを使用してsystemdユニット(デフォルトではサービス)を検出することができます。

アイテムキー

ディスカバリルールで使用するアイテムは

systemd.unit.discovery

このアイテムキーは、Zabbixエージェント2でのみサポートされています。

このアイテムはsystemdユニットに関する情報を含むJSONを返します。次に例を示します。

[{
           "{#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"
       }]
無効になっているsystemdユニットの検出

Zabbix 6.0.1以降、無効になっているsystemdユニットを検出することもできます。 この場合、結果のJSONで3つのマクロが返されます。

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

無効になっているsystemdユニットのプロトタイプからアイテムとトリガーを作成するには、{#UNIT.ACTIVESTATE}と{#UNIT.UNITFILESTATE}のLLDフィルターの禁止を調整(または削除)してください。

サポートされているマクロ

次のマクロはディスカバリルールフィルターおよびアイテム、トリガー、グラフのプロトタイプでの使用がサポートされています。

マクロ 説明
{#UNIT.NAME} プライマリユニット名
{#UNIT.DESCRIPTION} 人間が読みやすい形式の説明。
{#UNIT.LOADSTATE} ロードステータス(ユニットファイルが正常にロードされたかどうか)
{#UNIT.ACTIVESTATE} アクティブステータス(ユニットが現在起動しているかどうか)
{#UNIT.SUBSTATE} サブステータス(アクティブ状態ではない。ユニットタイプに固有のアクティブ状態のより詳細な情報)
{#UNIT.FOLLOWED} このユニットが存在する場合、このユニットがフォローしているユニット。 それ以外の場合は空の文字列
{#UNIT.PATH} ユニットのオブジェクトパス
{#UNIT.JOBID} ジョブ単位のキューに入れられたジョブがある場合はジョブIDの数値。 それ以外の場合は0
{#UNIT.JOBTYPE} ジョブタイプ
{#UNIT.JOBPATH} ジョブのオブジェクトパス
{#UNIT.UNITFILESTATE} ユニットファイルのインストール状態

アイテムのプロトタイプ

systemdサービスディスカバリに基づいて作成できるアイテムのプロトタイプには、たとえば次のものがあります。

  • アイテム名: {#UNIT.DESCRIPTION}; アイテムキー: systemd.unit.info["{#UNIT.NAME}"]
  • アイテム名: {#UNIT.DESCRIPTION}; アイテムキー: systemd.unit.info["{#UNIT.NAME}",LoadState]

systemd.unit.info エージェントアイテムは、Zabbix4.4以降でサポートされています。