(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【SNMP監視設定】ESXiのTrapをRHELで受け取る手順

スポンサーリンク

はじめに

ESXiのSNMPトラップをLinuxマシン(RHEL)で受信し、ログとして残すための作業の流れについて記載しました。
尚、今回はログをそのまま蓄積するのみなのでMIBファイル等は不要です。

環境情報
  • VMware ESXi 6
  • Red Hat Enterprise Linux Server 7

受け手側の設定

以下で関連ファイル群をインストールすると

# yum -y install net-snmp net-snmp-utils

以下のファイル群が動的に生成されます。

# ls /etc/snmp/
snmpd.conf  snmptrapd.conf

あとは以下でサービスを起動した状態にすれば受け手側の作業は終わりです。

# systemctl status snmptrapd
#systemctl status snmpd

送り手側の設定

ESXiはデフォルトだと以下のように設定が入っていません。

# 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:

以下にて対抗先のIPアドレスとコミュニティ名(public等)を指定して設定すれば

# esxcli system snmp set -c=public -e=true -t=10.X.X.X@162/public

尚、コミュニティ名は必須でそれを抜いて設定しようとすると以下のエラーとなります。

# esxcli system snmp set -e=true -t=10.Y.Y.X@162
invalid target specified, format is: ip-or-hostname[@port]/community,...]

Trap送受信テスト

ESXi側にて以下コマンドを押下すると

# esxcli system snmp test

標準出力に

   Comments: There is 1 target configured, send warmStart requested, test completed normally.

と表示がされた後にRHEL側の/var/log/messageにメッセージが出力されます。

尚、後続対応として/etc/sysconfig/snmptrapdにファシリティを追記することで/var/log/messageに出るメッセージを別ファイルに分けることも可能です。

終わりに

今回は受信サーバは一台でしたがターゲットを以下のように記載すれば複数台に送信することも可能です。

-t 10.X.X.X@162/public,10.Y.Y.Y@162/public

最低限の手順のみを記載しましたが、本記事がESXi監視の参考になれば幸いです。