Windows2003 ServerのSNMPの取得

職場でのさばっているWindows2003Serverのハードの状況を把握したかったのでSNMPの設定を行った。
Windows2000Serverに関してはSNMPサービスをインストールし、開始するだけで動いたので2003でも同じだろうとたかをくくっていたら、足元をすくわれた。
サービスのインストールは監視したいサーバを導入した業者にやるように指示していたので立ち上がっていた。先だってインストールしたCactiでアクセスをかけると応答しないと言われた。CactiサーバにPuttyで入ってsnmpwalkを行ったがレスポンスが無い。
と言うことで調べてみたらWindows2003Serverで外部からSNMPで監視するためにはサービスの起動以外に2つほどハードルがあることが判明した。

SNMPサービス上での設定

[管理ツール]−[サービス]の中の[SNMP Service]を選択し、セキュリティタブ内の
1) 「受け付けるコミュニティ」の設定を行う。(概ねpublic)
2) 「これらのホストからSNMPパケットを受け付ける」でうちの場合はCactiサーバのIPの設定を行った。
2)は「全てのホストからSNMPパケットを受け付ける」をONにするのはあまりいただけないと思うのでSNMP監視を行うサーバのIPのみを設定した。
MSさんのサポートオンラインのページはこちら

SNMPサービスのパケットが通るようにする

2003ではデフォルトでパケットが何でも通るようになっていない様子なので、せめてSNMPがらみのパケットは通るようにする。
これはローカルセキュリティポリシーで設定を行う。SNMPTCP/UDPポート161/162を通すよう設定を行う。
こちらは説明が長くなるので割愛。
MSさんのサポートオンラインのページはこちら



これでCactiからCPU使用、Loginユーザ数、プロセス数、ネットワークトラフィック、ディスクの利用状況が取れるようになった。

ちなみに確認してみると2000サーバ上のSNMP Serviceにも「セキュリティタブ」は存在していた。
もう覚えていないが、たぶんデフォルトでpublicコミュニティへ全てのホストからSNMPパケットが受け入れられるようになっていたんじゃないかなと思う。もしかすると、私が無意識で設定したのかもしれない。記憶が無い。