2014/04/12 CentOS6.5/PandoraFMS5.0SP3





Windowsのパフォーマンス監視を構成する

Windowsでパフォーマンス監視をすると言えば、WMIとSNMPです。
しかしデフォルトのSNMPで監視できる値は限られています。

結局、ここは素直にSNMP-Infomantをインストールするのが無難です。
WindowsのSNMP設定の項を参照してください。

Windowsサーバーのパフォーマンス監視の例をあげます。
下記表でOID9600が含まれているのが、SNMP-Informantの項目です。SNMP-Informantがインストールされていなければ、取得できません。
Cドライブ空き容量
C Drive Free Space(%)
.1.3.6.1.4.1.9600.1.1.1.1.5.2.67.58
60分
Dドライブ空き容量
D Drive Free Space(%)
.1.3.6.1.4.1.9600.1.1.1.1.5.2.68.58
60分
メモリ使用率
Memory Usage(%)
Plug-in Parameters -m memuse15分
メモリ空き容量
Free Memory(MB)
.1.3.6.1.4.1.9600.1.1.2.3.0
15分
CPU使用率(全体平均)
CPU Average Load(%)
Plug-in Parameters -m cpuload
15分
CPU使用率(コア単位) #0 (1個目のコア)
CPU Load #0 (%)
.1.3.6.1.4.1.9600.1.1.5.1.5.1.48
5分
CPU使用率(コア単位) #1 (2個目のコア)
.1.3.6.1.4.1.9600.1.1.5.1.5.1.495分
CPU使用率(コア単位) #9 (10個目のコア)
.1.3.6.1.4.1.9600.1.1.5.1.5.1.57
5分
CPU使用率(コア単位) #10 (11個目のコア)
.1.3.6.1.4.1.9600.1.1.5.1.5.2.49.48
5分
CPU使用率(コア単位) #11 (12個目のコア) .1.3.6.1.4.1.9600.1.1.5.1.5.2.49.49
5分
ネットワークオペレーション監視
ifOperStatus

.1.3.6.1.2.1.2.2.1.8.<index>
60分
ネットワークトラフィック(送信量)
.1.3.6.1.2.1.2.2.1.16.<index>
5分
ネットワークトラフィック(受信量)
.1.3.6.1.2.1.2.2.1.10.<index>
5分
EドライブやCPU#16などは、他のOIDの法則から推測してください。
SNMPなので、複数の監視を短いスパンで行うとどうしても監視失敗が発生します。
あまり多くの監視を欲張らないようにしましょう。

ネットワークの監視は手動ではなくSNMPインターフェイスウィザードから追加します。
ifOperStatusは監視そのものに意味があるのではなk、各エージェントページでインターフェイスグラフ表示を有効にするために必要です。(ifOperStatus、ifInOctets、ifOutOctetsの3つが揃うと現れます)

もし、簡単にメモリ使用率・CPU平均値を追加したいだけなら、こちらを参照してください。

余談
PandoraFMSでは定型の監視の設定をコンポーネントと呼び、コンポーネントをエージェントに割り当てて情報を収集させるとモジュールと呼ぶようです。



テンプレートの作成

この先も、複数のサーバへ同じ設定を繰り返すなら、コンポーネント(再利用可能な監視項目)を作成するといいでしょう。
Windowsサーバはいつも監視モジュールを割り当てるなら、モジュールテンプレートを作成すると良いでしょう。
10台に設定するのも一回こっきりなら、一台で設定した監視を一括設定でコピーするといいです。

特にCPUはコア別に監視モジュールを作る必要があるので、コア数が多いときはテンプレートを作っておいたほうが楽です。
そしてコアが増えれば増えるほど、コア一つ一つを監視することに意味ないです。
面倒くさくなって平均ばかり見るようになります。

ここではモジュールテンプレートの作成手順を説明します。



1.コンポーネントグループの作成

PandoraFMSにはすでにWindows用の管理グループがあるので、新規のコンポーネントグループを作成しておくほうが効率的です。


管理メニューから、「モジュール管理」-「コンポーネントグループ管理」をクリックします。
下の方にある「新規作成」をクリックします。

ここでは「Windows SNMP」としました。
親グループはOperating Systemを選択しておきます。





2.SNMPコンポーネントの作成(ネットワークコンポーネント)

「モジュール管理」-「コンポーネント管理」をクリックします。


「ネットワークコンポーネントを新規作成する」を選択します。


名前
C Drive Free Space(%)
日本語を交えるとなにかの処理で文字化けしたことがあったので、一応英数字
種類
Remote SNMP network agent, numeric data
通常の数値を選択
モジュールグループ
Performance

グループ
Windows SNMP
先ほど作成したグループへ所属させます
間隔
1時間
ドライブ容量ならあまり頻繁でなくていいでしょう
警告状態
最小5.00
一応、残り容量が5%を切ったら警告イベントを発生させてみます。
ここは必要に応じて設定します。
条件の反転
チェック
チェックを入れると、5%を下回ったら警告イベントを発生させます。
チェックがないと5%を上回ったら警告イベントが発生してしまいます。
不明イベントを発生させる
オフ
SNMPで取得に失敗したら不明イベントを発生させるかです。
重要度も低いので発生させなくてもいいです



SNMP OID
.1.3.6.1.4.1.9600.1.1.1.1.5.2.67.58 ディスク領域のOIDを指定します
SNMPコミュニティ
snmp-community
適切なコミュニティ名を指定します
エージェント別に異なっているなら空にしておきます


この調子でメモリ空き容量やCPUコアの使用率のコンポーネントを作成します。




3.SNMPコンポーネントの作成(プラグインコンポーネント)

「モジュール管理」-「コンポーネント管理」をクリックします。

「プラグインコンポーネントを新規作成する」を選択します


名前
Memory Usage (%)
とりあえず英数字で選択
種類
Generic numeric
通常の数値を選択
モジュールグループ
Performance

グループ
Windows SNMP
先ほど作成したグループを選択
間隔
15分
メモリなら15分単位くらい
警告状態
最小95.0
最大0.0
とりあえずメモリ使用率が95%を越えたら警告イベントを
発生させています。警告が始まる最小が95、という意味です。
不明イベントを発生させる
オフ
メモリの取得に失敗してもなにも表示しないように




プラグイン
SNMP remote

Community
snmp-community
適切なコミュニティ名を指定します。
もしエージェント別に異なっているのなら空にしておきます
Plug-in Parameters
-m memuse
メモリ取得のパラメータです。CPU平均の場合は
-m cpuload となります


この調子で、CPU平均値も設定します。




4.モジュールテンプレートへコンポーネントの登録


「モジュールテンプレート」を選択し、作成をクリックします。



ここでは「Windows Performance」としました。



グループで「Windows SNMP」を選択し、表示されたコンポーネントを追加します。




5.エージェントへの適用

モジュールテンプレートから、監視項目をエージェントへ登録します。


エージェントの設定画面より、モジュールテンプレートを選択します。
「Windows Performance」を選択し、適用します。


監視項目が適用されました。


ここで問題発生です。
CPU平均値とメモリ使用量がいつまでたっても取得されません。
バグだと思われますが、モジュールの設定を見ると、プラグインモジュールの設定が不自然です。

これは、個々に手作業で修正する必要があります。

プラグインを「なし」を選択してから再度「SNMP remote」を選択します。
現れた項目のCommunityに「コミュニティ名」、Plug-in Parametersに「-m memuse」を設定します。

これで、あらかじめ設定した15分が経過すると、情報がとれています。




メモリ使用率とCPU平均値を簡単に設定する

単純にサーバ1台へメモリ使用率監視を追加したい場合、簡単な方法があります。


エージェントの設定画面から「SNMPウィザード」を選択します。
対象IPアドレスとコミュニティ名を指定して、snmpwalkをかけます。
ウィザードモードで「他のSNMPデータ」を選択し、中から「Average of CPU Load」と「Memory use」を
選択し、モジュール作成をクリックします。
監視間隔や警告イベントの設定は、モジュールを編集してください。






prev.gif