本日も乙

ただの自己満足な備忘録。

Windows Server 2008 R2にSNMP Informant-Standardをインストールする(2012 R2も可)

[toc]

SNMPWindows Serverからパフォーマンス情報を取得したいケースがありました。 しかし、Windowsにデフォルトで入っているSNMPだと取得できる情報がとても少ないので、SNMP Informant-Standardを入れることでより多くの情報を取得するようにしましたのでその方法を紹介します。

SNMP Informantとは

WindowsSNMPでパフォーマンス情報を取得しようとした場合、標準でインストールされているものだと取得できる情報がとても少ないです。
SNMPググると、Linuxで主に使われているNet-SNMPが大抵引っかかります。Net-SNMPWindows用バイナリもあるのですが、永らく更新されていないので今回は見送りました。

調べるとSNMP Informantというのがありました。これはWindowsSNMPサービスを拡張して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で大抵事足りるので今回はこれを対象としました。

環境

ダウンロード

ダウンロードページからSNMP Informant-STD v 1.7をダウンロードします。フォーム入力欄がありますががすべて空白でOKです。

インストール

Zipファイルを解凍し、informant-std-17.exe を実行してインストールをすすめます。ウィザード通りに進めていけば問題なくインストールできると思います。
ここで、SNMP サービスが有効になっていない場合、インストールしようとすると下図のようなエラーがでるので、SNMPサービスを有効にする必要があります。

snmp_informant_failed

SNMPサービスの有効化

SNMPサービスが有効になっており、SNMP Informant STDのインストールが完了していればこの作業は不要です。

サーバマネージャを開き、機能→機能の追加をクリックします。

snmp_service_1

SNMP サービス」にチェックを入れて「次へ」をクリックし、インストールします。

snmp_service_2

インストールが正常に完了すればサービスとして認識されるようになります。もしサービスが表示されていなければOSを再起動します。

snmp_service_3

Windows Server 2012の場合

こちらを参照してインストールします。

設定

SNMPサービス

Windowsに標準でインストールされている SNMP Serviceの設定を変更します。サービスを起動し、「SNMP Service」を右クリックし、プロパティを選択します。
「セキュリティ」タブでSNMPのコミュニティ名とSNMPパケットの受け付け設定を行い、「適用」をクリックします。

snmp_setting_1

Firewall

Firewall設定画面を開き、「受信の規制」→「SNMP サービス(UDP 受信)」を右クリックしプロパティを選択します。「スコープ」タブでリモートIPアドレスを追加する

snmp_firewall_1

「詳細設定」タブでプロファイルが「プライベート」にチェックを入れます。

snmp_firewall_2

動作確認

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 2cSNMPバージョンを2に指定している。
  • -c <コミュニティ名> は先程設定したコミュニティ名を指定する。
  • 1.3.6.1.4.1.9600.1.1.5.1.5 はOIDでCPU使用率を指定している。

最後に

WindowsサーバにSNMPの拡張版である、SNMP Informantをインストールして簡単なメトリクスは取得できるようになりました。
SNMPは色々な監視ツールで使われているものなので定期的にメンテナンスして稼働しつづけたいものです。