[toc]
SNMPでWindows Serverからパフォーマンス情報を取得したいケースがありました。 しかし、Windowsにデフォルトで入っているSNMPだと取得できる情報がとても少ないので、SNMP Informant-Standardを入れることでより多くの情報を取得するようにしましたのでその方法を紹介します。
SNMP Informantとは
WindowsでSNMPでパフォーマンス情報を取得しようとした場合、標準でインストールされているものだと取得できる情報がとても少ないです。
SNMPでググると、Linuxで主に使われているNet-SNMPが大抵引っかかります。Net-SNMPのWindows用バイナリもあるのですが、永らく更新されていないので今回は見送りました。
調べるとSNMP Informantというのがありました。これはWindowsのSNMPサービスを拡張してCPU使用率やメモリ使用量、ディスク容量などを取得することができるようになるとのことです。
SNMP-Informantには2種類のバージョンが提供されています。
SNMP Informant-Standard(STD)
後述するSNMP Informant-Advanced より取得できる情報が少ないですが無料で使えます。
ダウンロード先: http://www.snmp-informant.com/snmp_informant-standard.htm
取得できる情報: http://www.snmp-informant.com/products/std/snmp-informant-std-tree.htm
SNMP Informant-Advanced
STDより多くの情報を取得できますが、有料です。
ダウンロード先: http://www.snmp-informant.com/snmp_informant-advanced.htm
取得できる情報: http://www.snmp-informant.com/products/advanced/snmp-informant-adv-tree.htm
SNMP Informant STDで大抵事足りるので今回はこれを対象としました。
環境
- Windows Server 2008 R2 (2012 R2でも動作しました。)
- SNMP Informant Standard 1.7
ダウンロード
ダウンロードページからSNMP Informant-STD v 1.7をダウンロードします。フォーム入力欄がありますががすべて空白でOKです。
インストール
Zipファイルを解凍し、informant-std-17.exe を実行してインストールをすすめます。ウィザード通りに進めていけば問題なくインストールできると思います。
ここで、SNMP サービスが有効になっていない場合、インストールしようとすると下図のようなエラーがでるので、SNMPサービスを有効にする必要があります。
SNMPサービスの有効化
SNMPサービスが有効になっており、SNMP Informant STDのインストールが完了していればこの作業は不要です。
サーバマネージャを開き、機能→機能の追加をクリックします。
「SNMP サービス」にチェックを入れて「次へ」をクリックし、インストールします。
インストールが正常に完了すればサービスとして認識されるようになります。もしサービスが表示されていなければOSを再起動します。
Windows Server 2012の場合
こちらを参照してインストールします。
設定
SNMPサービス
Windowsに標準でインストールされている SNMP Serviceの設定を変更します。サービスを起動し、「SNMP Service」を右クリックし、プロパティを選択します。
「セキュリティ」タブでSNMPのコミュニティ名とSNMPパケットの受け付け設定を行い、「適用」をクリックします。
Firewall
Firewall設定画面を開き、「受信の規制」→「SNMP サービス(UDP 受信)」を右クリックしプロパティを選択します。「スコープ」タブでリモートIPアドレスを追加する
「詳細設定」タブでプロファイルが「プライベート」にチェックを入れます。
動作確認
LinuxサーバにNet-SNMPをインストールしていれば、snmpwalk で値を取得できるかを確認します。
$ snmpwalk -v 2c -c <コミュニティ名> xxx.xxx.xxx.xxx 1.3.6.1.4.1.9600.1.1.5.1.5
-v 2c
でSNMPバージョンを2に指定している。-c <コミュニティ名>
は先程設定したコミュニティ名を指定する。1.3.6.1.4.1.9600.1.1.5.1.5
はOIDでCPU使用率を指定している。
最後に
WindowsサーバにSNMPの拡張版である、SNMP Informantをインストールして簡単なメトリクスは取得できるようになりました。
SNMPは色々な監視ツールで使われているものなので定期的にメンテナンスして稼働しつづけたいものです。