ZabbixのSNMPトラップ監視設定手順(ホスト、アイテム、トリガーの設定)
Zabbixを利用してSNMPトラップを監視するための設定手順です。
ホストインターフェース設定、SNMPトラップを受信するためのアイテム設定、アラート検知するためのトリガーの作成手順を確認しています。
また、テスト用のSNMPトラップを発生させ、SNMPトラップの受信確認や、障害検知についても確認しています。
今回は、Windows ServreのSNMPトラップを例に、OS再起動や特定のイベントIDをアラート検知する手順を確認しています。
※手順の確認には、Zabbix 7.0 LTS(7.0.30)を使用しています。
※手順は、Windows Server 2025のSNMPトラップを利用して確認しています。
- 1. Zabbixを利用してSNMPトラップ監視を行うための設定手順
- 1.1. ZabbixサーバーでSNMPトラップを受信するための設定が必要
- 1.2. SNMPトラップ受信用に用意されているアイテムキー
- 1.3. ホストにSNMPインターフェースを追加
- 1.4. snmptrap.fallbackのアイテム設定値
- 1.5. snmptrap.fallbackのアイテムを作成(Zabbix上でSNMPトラップをログとして記録)
- 1.6. SNMPトラップの受信を最新データで確認
- 1.7. SNMPトラップを受信するアイテムでログの時間の形式を設定
- 1.8. 特定のSNMPトラップを検知するアイテム設定値(SNMPトラップ本文の文字列で絞り込み)
- 1.9. 特定のSNMPトラップを検知するアイテムの作成手順
- 1.10. SNMPトラップ監視用のトリガー設定値
- 1.11. SNMPトラップ監視用のトリガー作成手順
- 1.12. ZabbixでSNMPトラップの障害を検知できているかを確認
- 1.13. 大量のSNMPトラップ受信に注意
- 2. 最後に
Zabbixを利用してSNMPトラップ監視を行うための設定手順
ZabbixサーバーでSNMPトラップを受信するための設定が必要
Zabbixサーバー側でもSNMPトラップを受信するための設定が必要となります。
そちらの設定手順については、こちらで紹介しています。
SNMPトラップ受信用に用意されているアイテムキー
ZabbixではSNMPトラップ受信用のアイテムキーが2種類用意されています。
| SNMPトラップ用のアイテムキー | |
| snmptrap[regexp] | 特定のOIDやメッセージのみを抽出する場合に使用するアイテムキーです。 SNMPトラップの一致条件を正規表現で指定します。 |
| snmptrap.fallback | snmptrap[regexp]に一致しなかったSNMPトラップを受信するアイテムキーです。 設定できてないSNMPトラップの受信確認などに使用します。 |
※snmptrap.fallbackを設定することで、ホストから監視に不必要なSNMPトラップが送信された場合に、Zabbixサーバーのログに記録されることを防げます。
ホストにSNMPインターフェースを追加
SNMPトラップのアイテムキーを使用する場合、Zabbix上にSNMPインターフェースを設定したホストが必要となります。
ZabbixはホストのSNMPインターフェースに設定されたIPアドレス(またはDNS名)をもとに、SNMPトラップの送信元ホストを判断します。
SNMPインターフェースに設定したIPアドレス(またはDNS名)と、SNMPトラップの送信元IPアドレスが一致するホストにSNMPトラップが振り分けられます。
一致するホストが存在しない場合、SNMPトラップは破棄されます。
また、インターフェースの設定では、受信するSNMPコミュニティ名を設定する必要があります。
デフォルトでは、{$SNMP_COMMUNITY}のマクロが設定されています。
今回はSNMPコミュニティ名を、tama-negiとしています。
※管理の一般設定にあるマッチしないSNMPトラップをログに記録が有効になっている場合、破棄されたSNMPトラップはZabbixサーバーのログに記録されます。Zabbixプロキシで受信している場合はZabbixプロキシのログに出力されます。
snmptrap.fallbackのアイテム設定値
snmptrap.fallbackのアイテム設定値です。
snmptrap.fallbackは、対象ホストに設定されたsnmptrap[regexp]のアイテムキーに一致しないSNMPトラップを受信するために利用されるアイテムキーです。
最初に設定しておくことで、対象ホストから受信したSNMPトラップの内容を確認できます。
また、想定したSNMPトラップがsnmptrap[regexp]に一致しない場合に内容を確認できるため、運用時の監視設定漏れや正規表現の設定ミスの確認にも利用できます。
| アイテム設定値 | |
| 名前 | snmptrap_fallback |
| タイプ | SNMPトラップ |
| キー | snmptrap.fallback |
| データ型 | ログ |
| ホストインターフェース | ホストに作成したSNMPインターフェース |
snmptrap.fallbackのアイテムを作成(Zabbix上でSNMPトラップをログとして記録)
snmptrap.fallbackをアイテムキーとする、アイテムを作成します。
注意点としては、SNMPトラップを文字列として受信するため、データ型をテキストもしくはログにしないとデータ取得エラーとなります。
SNMPトラップの受信を最新データで確認
アイテムキー作成後に、SNMPトラップを受信を確認します。
今回はWindows Serverを再起動し、LinkUpのSNMPトラップの受信を確認しています。
Windows ServerからSNMPトラップを送信する手順については、こちらで紹介しています。
実際に送信されるSNMPトラップ例についても、こちらで紹介しています。
| 最新データを確認 | |
| 最新データでSNMPトラップの受信を確認します。 アイテムのヒストリを確認すると、SNMPトラップの受信内容を確認できます。 |
![]() |
SNMPトラップを受信するアイテムでログの時間の形式を設定
Zabbix Serverの設定や、SNMPトラップの時刻フォーマットによっては、ローカル時間が表示されないことがあります。
アイテムにあるログの時間の形式で設定することができます。
※zabbix_trap_receiver.plでSNMPトラップログの時刻フォーマットを設定することも可能です。
| アイテムでログの時間の形式を設定 | |
| 作成したアイテムを表示します。 ログの時間の形式の設定に、受信したSNMPトラップの時刻フォーマットを設定します。 |
![]() |
|
|
| 再度最新データで確認すると、ローカル時間が表示されていることが確認できます。 | ![]() |
特定のSNMPトラップを検知するアイテム設定値(SNMPトラップ本文の文字列で絞り込み)
SNMPトラップを検知するアイテムを作成します。
Windows ServerのcoldStartを検知するアイテムと、ログオンエラー(イベントID4625)を検知するアイテムの2つを作成します。
検知内容は正規表現で指定する必要があります。
SNMPトラップ本文の文字列を正規表現で指定しています。
coldStartを検知するアイテムの設定例です。
今回は、Windows Serverの再起動時に、coldStartのSNMPトラップが送信されていたので、テスト用に設定しています。
| アイテム設定値 | |
| 名前 | Windows_ColdStart |
| タイプ | SNMPトラップ |
| キー | snmptrap[SNMPv2-MIB::coldStart] |
| データ型 | ログ |
| ホストインターフェース | ホストに作成したSNMPインターフェース |
| ログの時間の形式 | yyyy-MM-ddThh:mm:ss |
ログオンエラーに該当する、イベントID4625のイベントログを検知するアイテムの設定例です。
| アイテム設定値 | |
| 名前 | Windows_Logon_Error |
| タイプ | SNMPトラップ |
| キー | snmptrap[“[.]0[.]4625$"] |
| データ型 | ログ |
| ホストインターフェース | ホストに作成したSNMPインターフェース |
| ログの時間の形式 | yyyy-MM-ddThh:mm:ss |
※今回の設定は1つの例です。環境や監視要件に応じて設定します。
特定のSNMPトラップを検知するアイテムの作成手順
特定のSNMPトラップを検知するアイテムを作成します。
| アイテムの作成手順 | |
| タイプにSNMPトラップ、データ型にログを指定します。 次に使用するアイテムキーを選択します。 |
![]() |
| タイプがSNMPトラップのアイテムキーの中から、snmptrap[regexp]のキーを選択します。 | ![]() |
| アイテム名を設定します。 キーで検知したいSNMPトラップの内容を正規表現で指定します。 アイテムを追加します。 ※今回は、ログ時間の形式も設定しています。 |
【coldStartを検知する場合】![]() |
|
|
| イベントIDで検知する場合の例です。 | 【イベントログ(イベントID4625)を検知する場合】![]() |
|
|
| 作成したアイテムが表示されていることが確認できます。 | ![]() |
※今回の設定は1つの例です。環境や監視要件に応じて設定します。
SNMPトラップ監視用のトリガー設定値
SNMPトラップを検知するトリガーを作成します。
作成したアイテムに対応する、Windows Serverを検知するcoldStartのトリガーと、ログオンエラー(イベントID 4625)を検知するトリガーの2つを作成します。
SNMPトラップの本文に特定の文字列が含まれているかを判定するため、find関数を使用します。
正規表現に文字列が一致した場合にアラートを検知するよう、条件式を設定します。
SNMPトラップでは復旧を示す通知が必ず送信されるとは限りません。
そのため、正常イベントの生成はなしに設定し、手動クローズを使用するようにしています。
また、連続して発生するSNMPトラップを検知できるよう、障害イベントの生成モードは複数に設定してます。
ホスト名がvm-01の場合の、coldStartを検知するトリガーの設定例です。
| アイテム設定値 | |
| 名前 | Windows_ColdStart |
| 深刻度 | 警告 |
| 条件式 | find(/vm-01/snmptrap[SNMPv2-MIB::coldStart],,"regexp","coldStart")=1 |
| 正常イベントの生成 | なし |
| 障害イベント生成モード | 複数 |
| 手動クローズを許可 | チェックあり |
ホスト名がvm-01の場合の、イベントID4625のイベントログを検知するトリガー設定例です。
| アイテム設定値 | |
| 名前 | Windows_Logon_Error |
| 深刻度 | 警告 |
| 条件式 | find(/vm-01/snmptrap[“[.]0[.]4625$"],,"regexp",4625)=1 |
| 正常イベントの生成 | なし |
| 障害イベント生成モード | 複数 |
| 手動クローズを許可 | チェックあり |
※今回の設定は1つの例です。環境や監視要件に応じて設定します。
SNMPトラップ監視用のトリガー作成手順
SNMPトラップのメッセージ本文に特定の文字列が含まれていた場合に検知するトリガーを作成します。
| トリガーの作成手順 | ||
| ホストにあるトリガーを選択します。 | ![]() |
|
| トリガーの作成を選択します。 | ![]() |
|
| 新規トリガーの作成画面が表示されます。 名前、深刻度を選択します。 条件式の追加を選択します。 |
![]() |
|
| トリガー条件式の設定画面が表示されます。 作成したアイテムを選択します。 関数にはfindを選択します。 O(検索方法)には、regexpを指定しています。 これは、正規表現で検索するという設定になります。 V(検索するパターン)には、アイテムと同様にcoldStartを指定しています。 結果には=1を指定しています。 指定した条件に一致するトラップ本文があれば、アラートするようにしています。 |
![]() |
|
![]() |
||
![]() |
||
|
設定するトリガー条件式の例
|
||
| 正常性イベントの生成はなしを選択します。 障害イベント生成モードを複数にしています。 手動クローズを許可にチェックを入れます。 最後に追加を選択します。 |
![]() |
|
| Windowsのログオンエラーを検知する場合の例です。 Windows_Logon_Errorのアイテムを選択し、4625の文字列を検知条件とするように設定しています。 |
![]() |
|
![]() |
||
|
設定するトリガー条件式の例
|
||
| 同様に設定し追加します。 | ![]() |
|
| 追加されたトリガーを確認することができます。 | ![]() |
|
※今回の設定は1つの例です。環境や監視要件に応じて設定します。
ZabbixでSNMPトラップの障害を検知できているかを確認
受信したSNMPトラップが、Zabbixサーバーで正しくアラート検知できているかを確認します。
確認のため、Windows Serverの再起動やログオンエラーを意図的に発生させています。
| アラート検知を確認 | |
| Windows Serverを再起動させた場合の例です。 最新データでSNMPトラップを受信できていることを確認できます。 作成したトリガーで障害検知できていることを確認できます。 |
![]() |
![]() |
|
![]() |
|
| Windowsのログオンエラーを発生させた場合の例です。 同様に作成したトリガーで障害検知できていることを確認できます。 |
![]() |
![]() |
|
![]() |
|
| また連続してSNMPトラップを受信した場合にも障害検知できていることが確認できます。 | ![]() |
大量のSNMPトラップ受信に注意
機器障害が発生した場合など、短時間に大量のSNMPトラップが送信されることがあります。
その結果、大量のアラート通知が送信され、事象の把握が困難になることがあります。
受信対象のSNMPトラップを絞り込むなど、大量のアラート通知が送信されないよう注意が必要です。
—広告—
最後に
今回は、ZabbixでSNMPトラップを受信して監視するための設定手順について確認してみました。
ホスト、アイテム、トリガーの設定から、Windows端末を利用した動作確認までの手順を確認しました。
SNMPトラップはネットワーク機器の障害検知などで重要な手段です。
引き続き、いろいろ試してみたいと思います。
Zabbixを使ってログを監視するための手順については、こちらで紹介しています。
Windowsのイベントログ監視の手順についても紹介しています。
Zabbixを利用したポート監視設定手順については、こちらで紹介しています。
ZabbixのWeb監視設定手順については、こちらで紹介しています。
Zabbixのアラート通知設定手順については、こちらで紹介しています。
Zabbix エージェントのインストールや暗号化通信の有効化手順については、こちらで紹介しています。






































