Zabbixでホスト自動登録を設定して監視を自動化する方法
Zabbixのホスト自動登録のための設定手順です。
Windowsサーバーを例に、ホストの自動登録から監視の開始までを自動登録アクションを利用して実施しています。
今回は、Zabbixのホスト自動登録機能の説明から、自動登録アクションの新規作成、自動登録に必要なzabbix_agent2.conf(またはzabbix_agent.conf)の設定、そしてホストの自動登録までを確認しています。
※Zabbixのバージョンは、7.0LTS(7.0.17)を利用しています。
※Windows ServerはWindows Server 2025 Datacenter Azure Edition x64を利用しています。
※Zabbix Agent 2で手順を確認していますが、Zabbix Agentも同様の手順でインストールできます。
Zabbixのホスト自動登録機能とは?
Zabbixのホスト自動登録機能とは?
Zabbixエージェントのアクティブチェック機能を利用して取得した情報をもとに、監視対象ホストを自動登録することができます。
ホスト登録の処理自体は、Zabbixサーバーの自動登録機能によって実行されます。
-
- ホストの追加
- ホストグループの追加
- テンプレートのリンク
- ホストの有効化、無効化の選択
- インベントリモードの設定
- メッセージの送信
ホストの自動登録と同時に、テンプレートも設定できるため、監視の登録を自動的に開始することができます。
ホストの有効化・無効化も選択できるので、自動登録は行うが有効化は手動で行う、といった運用も可能です。
自動登録アクションの設定がある
通知のメニューの中にアクションの設定があります。
アクションの設定の中の1つとして、自動登録のアクション設定があります。
自動登録アクションを利用することで、監視対象ホストの登録条件や、登録時の設定内容などを指定できます。
ホストメタデータに設定された内容に基づいて自動登録される
監視対象ホストの登録内容は、Zabbixエージェントのアクティブチェックで送信された情報をもとに自動登録されます。
HostMetadataまたはHostMetadataItemに設定された値は、Zabbixサーバの自動登録アクションの条件として利用されます。
他にも自動登録に利用できる設定があります。
zabbix_agent.confまたはzabbix_agent2.confの中で設定します。
zabbix_agent.confの設定項目 | |
Hostname | 自動登録時のホスト名を設定します。 |
HostnameItem | 動的に取得した値を利用して、自動登録時に使用するホスト名を生成します。 Hostnameが未定義の場合のみ利用されます。Hostnameと重複して設定することはできません。 既定値はsystem.hostnameです。 |
HostMetadata |
自動登録のマッチングに使用するメタデータを設定します。 |
HostMetadataItem | 自動登録のマッチングに利用するメタデータを、動的な値(アイテム値)によって設定します。 HostMetadataが未定義の場合のみ使用されます。 |
HostInterface |
自動登録時にサーバ側で作成されるホストのインターフェースに使用する値を設定します。 |
HostInterfaceItem | ホストのインターフェース設定に利用する文字列を、動的な値(アイテム値)によって設定します。 HostInterfaceが未定義の場合のみ使用されます。 |
追加だけではなく削除もできる
処理内容には追加だけでなく削除も含まれます。
ホストメタデータを利用して、自動登録された監視対象ホストを削除することもできます。
PSKの利用を強制することもできる
自動登録時に、PSKの利用を強制することもできます。
PSKが合致しない場合は、自動登録されません。
自動登録時のPSK設定 | |
監視の一般設定に自動登録のメニューがあります。 暗号化レベルにPSKの設定項目があります。 暗号化レベルで暗号なしのチェックを外すことで、PSKの利用を強制することができます。 |
![]() |
—広告—
Zabbixのホスト自動登録設定手順
自動登録アクションを新規作成
監視対象ホストの自動登録は、自動登録アクションの設定内容に基づいて実行されます。
アクションで自動登録の条件を設定し、実行内容でホスト登録時の動作を指定します。
今回は、ホストの自動登録から監視の自動開始までを想定した設定としています。
ホストメタデータにWindowsを含む場合に、ホストの追加、ホストグループへの追加、Windows監視テンプレートのリンクを行います。
-
- 実行条件
- タイプ : ホストメタデータ
- オペレータ : 含む
- 値 : Windows
- 実行内容
- ホストを追加
- ホストグループに追加
- ホストグループ : test_host_group
- テンプレートをリンク
- Windows by Zabbix agent
- 実行条件
zabbix_agent.confでHostMetadataを設定
zabbix_agent2.confでHostMetadataに値を追加します。
今回は、Windowsという文字列を追加しています。
zabbix_agent2.confを編集 | |
|
Zabbixエージェントを再起動
Zabbixエージェントを再起動して、zabbix_agent2.confの変更内容を反映させます。
Zabbixエージェントを再起動 | |
|
※Windowsの場合は、サービス管理ツールから再起動する方法もあります。
ホストの自動登録を確認
ホストが自動登録されたかどうかを確認します。
なお、Discovered hostsのホストグループには、自動登録されます。
ホストの自動登録を確認 | |
ホストが自動登録されていることが確認できます。 処理内容に設定された通り、テンプレート、ホストグループが設定されていることが確認できます。 |
![]() |
![]() |
※プロキシおよびプロキシグループが存在する環境のため、自動的にプロキシグループに追加されています。
HostMetadataItemを利用したホストの自動登録
HostMetadataの設定は固定値です。
OSごとにテンプレートを変える場合には、OSごとに設定したzabbix_agent2.confを用意しておく必要があります。
HostMetadataItemを利用すると、動的な値(アイテム値)を利用してホストメタデータを設定することができます。
例えば、system.unameを利用すると、取得した値を用いてOSの判別に利用できます。
OSごとにzabbix_agent2.confを準備する必要がなくなります。
system.unameで取得される値には、OSの情報が含まれます。
今回の場合は、Windowsという文字が含まれます。
先ほど作成した自動登録アクションの条件に合致します。
同様にホストを自動登録することができます。
※先ほど設定したHostMetadata=Windowsはコメントアウトします。
HostInterfaceItemを利用したインタフェースの設定例
Zabbixサーバーは、エージェントから直接取得できる監視対象ホストのネットワークインターフェース設定から得られるIPアドレスではなく、NATによって外部に変換されたIPアドレスをホストインターフェースとして登録します。
そのため、ホストを自動登録しても、インターフェース設定に異なるIPアドレスが設定される場合があり、Zabbixエージェントと接続できないケースがあります。
HostInterfaceやHostInterfaceItemを利用して、自動登録時のインターフェースを設定することができます。
HostInterfaceは固定値で設定でき、HostInterfaceItemは動的な値(アイテム値)を利用してインターフェースを設定することができます。
例えば、HostInterfaceItem=system.hostnameとすることで、インターフェース設定にホスト名を利用することができます。
※HostInterfaceとHostInterfaceItemは同時に利用できません。HostInterfaceの設定が優先されます。
zabbix_agent2.confを編集 | |
|
自動登録されたホストのインターフェース設定を確認
インターフェースの設定にDNS名が設定されていることが確認できます。
接続方法もDNSになっていることが確認できます。
ホストのインタフェース設定を確認 | |
インタフェースの設定にDNS名が設定されています。 DNS名には、system.hostnameで取得された値が設定されています。 |
![]() |
監査ログでホスト自動登録のログを確認できる
ホストが自動登録されたログは、監査ログで確認できます。
Systemによってホストが追加されたログが記録されています。
監査ログを確認 | |
ホストが追加されたログが確認できます。 詳細を選択すると、追加されたテンプレート、インタフェース設定なども確認できます。 |
![]() |
※Zabbixサーバーのログ(zabbix_server.log)でも確認できます。
ホストの無効化や削除の例
自動登録アクションを利用して、自動登録されたホストの無効化や削除も可能です。
今回はホストメタデータの条件に合致しない場合に、ホストを無効化する自動登録アクションを作成し、動作を確認しています。
HostMetadata=non-monitoringとして動作を確認します。
zabbix_agent2.confを編集 | ||
|
||
ホストメタデータにLinuxやWindowsの文字列が含まれない場合は、ホストを無効化する設定にしています。 | ![]() |
|
Zabbixエージェントを再起動して確認します。 ホストのステータスが無効となっていることが確認できます。 |
![]() |
—広告—
最後に
Windowsサーバーを例に、Zabbixのホスト自動登録の設定手順を確認しました。
自動登録アクションを作成するだけで、OSの種別に合わせた監視が自動的に開始できてとても便利な機能かと思いました。
今回は基本的な設定の例でしたが、自動登録のアクションやホストメタデータの設定を組み合わせることで柔軟に設定に活用できそうです。
引き続き、いろいろ試してみたいと思います。
Zabbixエージェントのインストール手順やPSKの設定については、こちらで確認しています。
Zabbixでホストを追加登録する場合の手順については、こちらで紹介しています。
Zabbixを利用したAzureのリソース監視設定方法ついては、こちらで紹介しています。