Saminnet-Search Article Wiki Forum Piwigo SNS Cloud vtiger Sugar
snmptrap ESXi

  • Oracle
    • WebLogic Reset (227) Tue04,11:01am

      WebLogic起動するたびにユーザ名とパスワードを聞いてきて煩わしかったので回避したメモ。     securityフォルダを作成     $ mkdir $DOMAIN_HOME/servers/AdminServer/security     boot.propertiesを作成    boot.properties     username=weblogic    password=password     ※平文でOK     nohup & でWeblogicを起動     $ nohup sh $DOMAIN_HOME/startWebLogic.sh &     ※nohup.outに吐かれるのがいやだったら適当にリダイレクトさせる     boot.propertiesが暗号化されてることを確認     $ ca…

      Read More...

snmptrap ESXi

ZabbixでESXiのSNMP Trapを監視する設定

 
自宅環境にZabbixを構築しており、ESXiからのSNMP Trapを監視できるように設定してみた。思いの外、手順が多かったので、忘れないようにまとめておく。

<環境>
・Zabbixバージョン:2.2.11
・Zabbixサーバ IPアドレス:192.168.33.22
・ESXiバージョン:VMware ESXi 6.0.0 Update 2
・ESXi IPアドレス:192.168.33.11
・SNMPコミュニティ名:public
 

1. snmptrapdの設定

まず、net-snmpをインストールする。net-snmpはZabbixインストール時の前提パッケージとなっているので、通常はインストールされており問題はないが、net-snmp-perlが入っていない場合は必要となるため追加でインストールする。

# yum install net-snmp
# yum install net-snmp-perl

次にsnmptrapdの設定として、/etc/snmp/snmptrapd.confに以下を追加する。
--------------------
authCommunity   log,execute,net public
perl do "/etc/zabbix/alertscripts/zabbix_trap_receiver.pl";
--------------------
 
次に、/etc/sysconfig/snmptrapdに以下を追加する。
--------------------
OPTIONS="-Lsd -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs:/usr/share/snmp/venders -m all"
--------------------

上記は、MIBの保存ディレクトリとして/usr/share/snmp/vendersも追加する設定を加える設定となる。指定したディレクトリへ、ESXiのMIBを配置することをお忘れなく。

※MIBは以下からダウンロードできる
SNMP MIB module file download (1013445)
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1013445

最後にサービス起動&起動時に自動起動するようにする。
 
# service snmptrapd start
# chkconfig snmptrapd on
 

2. Zabbixの設定① (CLIでの設定)

ZabbixでSNMPTrapを受信する方法として、SNMPTTを使うか、Zabbix付属のPerlスクリプトを使うかの2パターンがある。今回は後者のPerlスクリプトでの実装を行う。

まず、該当のPerlスクリプトを規定のディレクトリに配置する(デフォルトで置かれている可能性もあり)。

# cp /var/lib/zabbix/zabbix_trap_receiver.pl /etc/zabbixx/alertscripts/
# chmod 755 /etc/zabbixx/alertscripts/zabbix_trap_receiver.pl

次にZabbixの設定ファイルを編集する。

/etc/zabbix/zabbix_server.confの以下箇所を編集する。
--------------------
SNMPTrapperFile=/var/log/zabbix/zabbix_traps.tmp
StartSNMPTrapper=1
--------------------

最後にzabbix-serverをリスタートする。

# service zabbix-server restart

この状態でSNMP Trapを正常に受信し、スクリプトが実行されることを確認してみる。以下コマンドでテストTrapを送信する。

# snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "teststring000"

/var/log/messagesにTrapの内容が表示されていればsnmptrapdの動作はOK。

# tail /var/log/messages
--------------------
May  3 21:49:04 t3022ce67 snmptrapd[15789]: 2016-05-03 21:49:04 0.0.0.0(via UDP: [127.0.0.1]:58671->[127.0.0.1]) TRAP, SNMP v1, community public#012#011IF-MIB::linkDown Enterprise Specific Trap (33) Uptime: 0:00:00.55#012#011IF-MIB::linkDown = Hex-STRING: E2 80 9C 74 65 73 74 73 74 72 69 6E 67 30 30 30 #012E2 80 9D
--------------------
 
さらに、/var/log/zabbix/zabbix_traps.tmpにTrapの内容が表示されていれば、Perlスクリプトもきちんと動作していることが確認できる。
 
# tail -20 /var/log/zabbix/zabbix_traps.tmp
--------------------
23:42:00 2016/05/03 ZBXTRAP 127.0.0.1
PDU INFO:
  notificationtype               TRAP
  version                        0
  receivedfrom                   UDP: [127.0.0.1]:38270->[127.0.0.1]
  errorstatus                    0
  messageid                      0
  community                      public
  transactionid                  48
  errorindex                     0
  requestid                      0
VARBINDS:
  DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (55) 0:00:00.55
  SNMPv2-MIB::snmpTrapOID.0      type=6  value=OID: IF-MIB::linkDown.0.33
  IF-MIB::linkDown               type=4  value=STRING: "teststring000"
  SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 type=4  value=STRING: "public"
  SNMPv2-MIB::snmpTrapEnterprise.0 type=6  value=OID: IF-MIB::linkDown
--------------------
 

3. ESXiの設定

Zabbixに監視設定を実施する前に、ESXiからSNMP Trapを飛ばす設定を実施しておく。ESXi6.0ではSNMPを有効にするためには、ESXi Shellから実施する必要があるため、SSHでESXiにログインした後、以下ファイルを編集&サービスリスタートにて有効化する。

/etc/vmware/snmp.xmlの下線の箇所を編集。
 ※<enable>:デフォルトfalseなのでtrueに変更
 ※<communities>:デフォルト空白なのでpublicに変更
 ※<targets>:デフォルト空白なので、Trap送信先を以下形式で指定
       <IPアドレス>@162 <コミュニティ名>
--------------------
<config><snmpSettings><enable>true</enable><port>161</port><syscontact></syscontact><syslocation></syslocation><EnvEventSource>indications</EnvEventSource><communities>public</communities><targets>192.168.33.22@162 public</targets><EventFilter>1.3.6.1.4.1.6876.4.90.0.401</EventFilter><engineid>00000063000000a100000000</engineid><loglevel>info</loglevel><authProtocol></authProtocol><privProtocol></privProtocol><largestorage>true</largestorage></snmpSettings></config>
--------------------
 
設定後、サービスをリスタートする。
 
[root@esx01:~] /usr/bin/services.sh restart
 
SNMPの設定確認を実施。
 
[root@esx01:~] esxcli system snmp get
--------------------
   Authentication:
   Communities: public
   Enable: true
   Engineid: 00000063000000a100000000
   Hwsrc: indications
   Largestorage: true
   Loglevel: info
   Notraps:
   Port: 161
   Privacy:
   Remoteusers:
   Syscontact:
   Syslocation:
   Targets: 192.168.33.22@162 public
   Users:
   V3targets:
--------------------
 
さらに、5分起きに出力されるTrapの抑制を実施する。

[root@esx01:~] esxcli system snmp set --notraps 1.3.6.1.4.1.6876.4.90.0.401

再度設定を確認。Notrapsに設定が反映されていることを確認する。

[root@esx01:~] esxcli system snmp get
--------------------
   Authentication:
   Communities: public
   Enable: true
   Engineid: 00000063000000a100000000
   Hwsrc: indications
   Largestorage: true
   Loglevel: info
   Notraps: 1.3.6.1.4.1.6876.4.90.0.401
   Port: 161
   Privacy:
   Remoteusers:
   Syscontact:
   Syslocation:
   Targets: 192.168.33.22@162 public
   Users:
   V3targets:
--------------------
 

4. Zabbixの設定② (Web GUIでの設定)

SNMP Trapを監視できるようにするため、ZabbixのWeb GUIにて、以下の順に設定していく。

4.1 テンプレートの作成

・テンプレート名:Template SNMP Trap
・所属グループ:Templates

4.2 アイテムの作成

・名前:SNMP Trap log
・タイプ:SNMP トラップ
・キー:snmptrap[]
・データ型:ログ
・ヒストリの保存期間(日):90
・ログの時間の形式:hh:mm:ss yyyy/MM/dd
・アプリケーションの作成:SNMP Trap
・アプリケーション:-なし-

4.3 トリガーの作成

・名前:SNMP Trap
・条件式:{Template SNMP Trap:snmptrap[].regexp(.*VMWARE-VMINFO-MIB.*)}=0
 ※VMWARE-VMINFO-MIBは情報レベルのTrapのため、トリガーの動作対象外とした
・障害イベントを継続して生成:チェック
・深刻度:重度の障害
 
 

4.4 ホストへテンプレート適用

作成したテンプレートをESXiのホストへリンクする。同時にSNMPインタフェースの設定も実施しておくこと。詳細な手順は割愛。
 

4.5 動作確認

「監視データ」→「概要」画面にてアプリケーションを「SNMP Trap」でフィルタするとSNMP Trapの受信状況がわかる。
 
 
テストTrapを飛ばして動作試験をする場合は、ESXiにてサービスをリスタートする(もっと簡単にTrapを飛ばす方法はあると思うが)。
 
[root@esx01:~] /usr/bin/services.sh restart
 
正常であれば、情報が更新される。SNMPv2-MIB::warmStartやVMWARE-VMINFO-MIB::vmwVmHBDetectedが出力されればOK。
 

 

Comments   

 
0 #1 Guest 2019-09-07 09:23
Hello there! Thiis post couldn't be written any better!
Reading this poost reminds me of my good oldd room
mate! He always kept chatting about this. I will forward this
page to him. Fairly certain he will have a good read. Many thanks for sharing!


my web blog - ____ __ __ __ (Ouida)
Quote
 

Articles by Date

TweetTweet Share on LinkedInShare on LinkedIn Share on Google+Google+ Submit to RedditReddit Publish on WordPress WordPress Send emailSend email