SNMPトラップ受信の設定¶
概要¶
- 事前にZabbixサーバ、ZabbixサーバのSNMPクライアントを設定しておく
- snmptrapdで収集したログをsnmpttが成形し、それをZabbixが読み取る
パッケージのインストール¶
- snmpttのインストール
# yum install epel-release # yum install snmptt net-snmp perl-Sys-Syslog
設定¶
- snmptrapdの設定
# vi /etc/snmp/snmptrapd.conf authCommunity log,execute,net public perl do "/usr/share/snmptt/snmptthandler-embedded";
- snmptt.iniの設定
# vi /etc/snmp/snmptt.ini log_enable = 1 log_file = /var/log/snmptt/snmptt.log date_time_format = %H:%M:%S %Y/%m/%d syslog_enable = 0
- snmptt.confの設定
# vi /etc/snmp/snmptt.conf EVENT general .* "General event" Normal FORMAT ZBXTRAP $aA $ar $1
- Zabbixサーバの設定
「SNMPTrapperFile」はsnmptt.iniの「log_file」にあわせるよう修正する# vi /etc/zabbix/zabbix_server.conf SNMPTrapperFile=/var/log/snmptt/snmptt.log StartSNMPTrapper=1
サービスの起動¶
- サービスの起動と設定を行う
# systemctl restart zabbix-server # systemctl start snmptrapd # systemctl enable snmptrapd # systemctl start snmptt # systemctl enable snmptt
アイテムの作成¶
- WebUIを開き、「設定」→「ホスト」画面へ移動する
- Zabbixサーバの「アイテム」をひらく
- 「アイテムの作成」ボタンをクリックする
- 以下の内容を設定する
- 名前「SNMPトラップ」
- タイプ「SNMPトラップ」
- キー「snmptrap["General"]」
- ホストインターフェース「10.3.0.50:161」
- データ型「文字列」
- ヒストリ保存期間「90d」
- 値のマッピングの使用「なし」
- アプリケーションの作成「snmptrap」
- アプリケーション「-なし-」
- ホストインベントリフィールドの自動設定「-なし-」
- 説明「」
- 有効「チェック」
- 「追加」ボタンを押す
トリガーの作成¶
- WebUIを開き、「設定」→「ホスト」画面へ移動する
- Zabbixサーバの「トリガー」をひらく
- 「トリガーの作成」ボタンをクリックする
- 以下の内容を設定する
- 名前「SNMPトラップ {HOST.NAME}」
- 深刻度「情報」
- 条件式「{テンプレート名:snmptrap["General"].iregexp(*)}=1」
- 正常イベントの生成「条件式」
- 障害イベントの生成モード「単一」
- 正常時のイベントクローズ「すべての障害」
- タグ「」
- 手動でのクローズ許可「チェック」
- URL「」
- 説明「」
- 有効「チェック」
- 「追加」ボタンを押す
テスト¶
- Zabbixサーバ上で次のコマンドを入力する
# snmptrap -v 2c -c public ZabbixサーバのIPアドレス '' .1.3.6.1.4.1.8072.9999 .1.3.6.1.4.1.8072.9999 s 'TEST'
- 「監視データ」→「概要」をひらく
- 「SNMPトラップ {HOST.NAME}」のZabbixサーバのステータスをクリック
- 「SNMPトラップ」をクリック
- 先ほどのSNMPトラップが受信データ履歴に存在すること