プロジェクト

全般

プロフィール

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トラップが受信データ履歴に存在すること