前回は FreeBSD の net-snmp の設定に関して書きました。今回は ESXi の SNMP に関して書いてゆきます。現在使用している ESXi のバージョンが V7 なので、こちらの VMware の KB ページを参考にしてエージェントの設定を行ってゆきます。行うことは SNMP V3 では Engine ID の構成、認証およびプライバシー プロトコルの構成、ユーザーの構成、ターゲットの構成となっています。それぞれリンクを辿って動くようにしてゆきましょう。SNMP V2/V1 に関してはこちらの VMware KB ページを参考にして動くようにしてゆきます。行うことは、コミュニティの構成と v1 または v2c 通知を送信する SNMP エージェントの構成を行うとなっています。ただし、今回は trap を使用しないので、SNMP V3 のターゲットの構成と SNMP V2/V1 の v1 または v2c 通知を送信する SNMP エージェントの構成は行わずにおきます。trap はまた別の機会にご紹介いたします。
まずは SNMP V2 から動かしてゆきましょう。
ESXi SNMP V2 コミュニティの構成
KB ページを見ると、どこかのファイルを直接編集するのではなく、esxcli コマンドを発行して設定するようです。KB に従って、FreeBSD と同じコミュニティをセットしてみます。因みに motd メッセージによると、非常に強力な管理ツールが利用可能だそうです 🙂 これからやろうとすることも簡単にできてしまうかもしれません。ご参考まで。

設定はどこかのファイルに保存されているはずなので、ちょっと勘を働かせて探してみると、このファイルに保存されたようです。

このファイルを見る限り、ロケーションやコンタクト情報もセットできそうですので、ついでについでにセットしてみます。

vi /etc/vmware/snmp.xml で直接編集できそうな気もするのですが、KB に従いましょう。使えない文字や組み合わせのチェックを esxcli コマンドで行っているかもしれません 🙂
ESXi SNMP V2 v1 または v2c 通知を送信する SNMP エージェントの構成
今回は trap を使わないので、何もせずに進みます。将来的には Cacti や Zabbix のホストに対して trap を飛ばすようにすることになると思います。
ESXi SNMP V3 Engine ID の構成
KB の当該のページの指示に従って、エンジン ID をセットします。エンジン ID は 5 – 32 文字の 16 進数と指定されていますので、ランダムに生成してみます。makepasswd というポーツがありますので、それを使って生成します。

そして、生成したランダムなエンジン ID を ESXi の SNMP にセットします。

エンジン ID は snmp の xml ファイルに無かったので、別のファイルが使われるのかと思ったのですが、同じファイルに突っ込んだようです 🙂

ESXi SNMP V3 認証およびプライバシー プロトコルの構成
FreeBSD でも SNMP V3 ユーザのところで出てきましたが、認証や暗号化に使用するハッシュ関数を指定します。この KB を読む限り FreeBSD で使用できた DES は使えないようです。DES はもはや安全ではないとするのが一般的のようなので、なくなったのかもしれません。ではセットしてみます。認証には SHA、暗号化には AES を使います。

大文字にしろと怒られましたが、セットすることができました。これもやはり同じ snmp の xml ファイルに突っ込まれました。
ESXi SNMP V3 ユーザーの構成
VMware の KB を読むと、一読しただけでは意味の理解に苦しみます。要は、ユーザを作るときに直接パスワードを指定できないので、パスワードから作られたハッシュ値をセットしてくれということのようです。ですので、まずパスワードから作られるハッシュ値を計算して求めます。認証や暗号化に使用するパスワードは FreeBSD と同じものを使用します。

そして、これらの値を使用してユーザ pokemon を作ります。

ん?オプションエラーの時によく見る出力 🙁 よく見比べてみます。

ありました。KB には “esxcli system snmp test –user username –auth-hash secret1 –priv-hash secret2” と書かれていましたが、出力されたエラーメッセージには –users となっていました。-user を -users に変えるとすんなり通りました。KB のバグですかねぇ。。。まぁ、それはさておき、次に進みます。
ESXi SNMP V3 ターゲットの構成
SNMP V2/V1 同様 trap の使用は先延ばししますので、ここでは何もせずに進みます。
さて、これで SNMP V1/V2/V3 の基本的な設定は終了のはずです。ESXi 起動時に自動で起動するようになっているかどうか確かめてみます。ESXi のサービスで SNMP のポリシーを見てみます。

プロセス自身は止まっていますが、ポリシーはシステム起動時に自動起動になっています。SSH の接続でもそのように見えます。

たぶん、snmp.xml が空っぽだったので、起動できなかったのでしょう。ということで、手動で起動してみます。

気に入らないことがあるようです。ちょっと snmp の設定を見てみます。ん?snmp.xml ファイルで見た内容そのままちゃうん? 🙂 エラーメッセージからしてこれを変えないといけないようです。

では、snmp を有効にしてみましょう。

enable にセットしたらスクリプトを実行するまでもなく、snmp プロセスが既に動いていると怒られました。確かに 🙁

さて、これでほぼ FreeBSD と同じになったのですが一点、snmp 問い合わせて受け付ける IP レンジを指定していません。snmp の KB をパラパラと見ていたのですが、該当する記述は見当たりませんでした。そこで、ESXi の中を眺めていると、firewall で定義できそうなので行ってみます。

たぶんこんなのも esxcli を使って簡単にできると思うのですが、すぐにはわからないので、わかる手段でセットします。SNMP を選択して “Edit Setting” を押すとオプションが編集できるようになります。

サンプルが書かれているので、実ネットワークの環境に合わせてアドレスレンジを書き加えて、OK します。
ESXi snmpwalk によるテスト
では、FreeBSD から snmpwalk で動作確認します。まず snmp V2c の問い合わせです。

V2c はよさげです。では、SNMP V3 はどうでしょう。

これも OK 牧場のようです。次回は Catalyst 2960G に SNMP をしゃべらせようと思います。
以下広告





コメント