この手順については以前以下記事でも記載している。
★以前の記事はこちら↓
ZabbixでESXiのSNMP Trapを監視する設定
https://tech-mmmm.blogspot.com/2016/05/zabbixesxisnmp-trap.html
前回は直接設定ファイルを書き換える方法で対応したが、ESXiのSNMP設定は、実はすべてコマンドで設定することが可能となっているようだ。そこで、今回はすべてESXi Shellのコマンドで設定する方法を紹介する。なお、環境はESXi 6.7となる。
SNMP Trap設定手順
設定はすべて「esxcli system snmp」コマンドで実施できる。1. 設定前の状態確認
まず、設定前の状態を確認しておく。「Enable: false」となっており、SNMP Trapの設定がされていないことがわかる。# esxcli system snmp get
------------------------------
Authentication:
Communities:
Enable: false
Engineid:
Hwsrc: indications
Largestorage: true
Loglevel: info
Notraps:
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets:
Users:
V3targets:
------------------------------
2. 設定
SNMP Trap送信の設定を行う。# esxcli system snmp set -e=true -c=public -t=192.168.33.24@162/public
各オプションの意味は以下の通りとなる。
- -e=true : SNMPを有効にする。
- -c=public : コミュニティ名をpublicに設定する
- -t=192.168.33.24@162/public : SNMP Trapの設定を行う。<送信先のIP>@<ポート番号>/<コミュニティ名>というフォーマットで指定する
# esxcli system snmp get
------------------------------
Authentication:
Communities: public ←★コミュニティ名が指定されている
Enable: true ←★trueになっている
Engineid: 00000063000000a100000000
Hwsrc: indications
Largestorage: true
Loglevel: info
Notraps:
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets: 192.168.33.24@162 public ←★SNMP Trap送信先が指定されている
Users:
V3targets:
------------------------------
3. SNMP Trapテスト
設定完了後、SNMP Trap送信テストを行う。# esxcli system snmp test
------------------------------
Comments: There is 1 target configured, send warmStart requested, test completed normally.
------------------------------
SNMP Trap受信側でTrapの内容を確認しておこう。今回はZabbixあてにTrap送信を行い、以下内容で受信できていることを確認した。
------------------------------
SNMP Trap log (VMware:snmptrap[]): 21:57:19 2018/09/08 .1.3.6.1.6.3.1.1.5.2 Normal "Status Events" t3011esxi - warmStart A warmStart trap signifies that the SNMP entity,
------------------------------
4. 送信しないSNMP TrapのOIDを登録
上記でSNMP Trapが飛ぶようになったのだが、仮想マシンパワーオン時や、ESXiから仮想マシンへのハートビートに関するSNMP Trapが定期的に飛んでおり、Zabbixで都度検知してしまって困ってしまった。そこで、不要なSNMP Trapは送信しないよう、ESXi側で設定を行う。今回は以下2つのOIDを検知不要として登録する。
- vmwVmPoweredOn : 1.3.6.1.4.1.6876.4.1.0.1
- vmwVmHBLost : 1.3.6.1.4.1.6876.4.1.0.3
- vmwVmHBDetected : 1.3.6.1.4.1.6876.4.1.0.4
# esxcli system snmp set -n=1.3.6.1.4.1.6876.4.1.0.1,1.3.6.1.4.1.6876.4.1.0.3,1.3.6.1.4.1.6876.4.1.0.4
設定を確認する。Notrapsの箇所に正しく登録されていればOK。
# 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.1.0.1, 1.3.6.1.4.1.6876.4.1.0.3,1.3.6.1.4.1.6876.4.1.0.4
↑★登録された
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets: 192.168.33.24@162 public
Users:
V3targets:
なお、一度SNMPサービスを有効にした状態で追加設定をした場合は、SNMPサービスの再起動をしなければ設定反映がされないため、以下のようにSNMPサービスを落とし上げを実施する。
# esxcli system snmp set -e=false && esxcli system snmp set -e=true
ちなみに、SNMPサービスの再起動はkill -HUPでも実施できる。プロセスIDが変わるようなので、設定ファイル読み込みというよりは再起動されるようだ。
# kill -HUP `ps -v | grep snmpd | cut -d" " -f1`
Port: 161
Privacy:
Remoteusers:
Syscontact:
Syslocation:
Targets: 192.168.33.24@162 public
Users:
V3targets:
------------------------------
なお、一度SNMPサービスを有効にした状態で追加設定をした場合は、SNMPサービスの再起動をしなければ設定反映がされないため、以下のようにSNMPサービスを落とし上げを実施する。
# esxcli system snmp set -e=false && esxcli system snmp set -e=true
ちなみに、SNMPサービスの再起動はkill -HUPでも実施できる。プロセスIDが変わるようなので、設定ファイル読み込みというよりは再起動されるようだ。
# kill -HUP `ps -v | grep snmpd | cut -d" " -f1`
0 件のコメント:
コメントを投稿