DELLサーバーの温度をcactiで監視する

DELLのサーバーはsensorsが使えない感じ(少なくともR410/R710はだめだった)で、omreportからの数値をcactiに反映させてみる。

参照元ブログは、0からテンプレートを作るブログで、cactiはほぼここのコピペです、ありがとうございます!


参照元:Sunny.st,様『[Tech]CactiでCPUの温度をグラフ化』
http://blog.aburami.net/archives/55376657.html




【snmpでDELLサーバーの温度を取得できるまで】
※omreportをインストールしてから進めてくださいね!
※取得スクリプトを/infra/bin/というフォルダを切って、そこに置いています。
※ちなみに、素のomreport chassis tempsはこんなのが出てます。
※omreportはバージョンや入れ方によって異なる(/usr/bin/omreportとか)もあるので、適宜パスは変えてください。
# /opt/dell/srvadmin/bin/omreport chassis temps index=0
Temperature Probes Information
------------------------------------
Main System Chassis Temperatures: Ok
------------------------------------
Index                     : 0
Status                    : Ok
Probe Name                : System Board Ambient Temp
Reading                   : 22.0 C
Minimum Warning Threshold : 8.0 C
Maximum Warning Threshold : 42.0 C
Minimum Failure Threshold : 3.0 C
Maximum Failure Threshold : 47.0 C
#

以下作業履歴!

mkdir -p /infra/bin/
vi /infra/bin/temperatures.sh

#!/bin/sh
/opt/dell/srvadmin/bin/omreport chassis temps index=0|grep Reading|awk '{print $3}'

chmod 755 /infra/bin/temperatures.sh

vi /etc/snmp/snmpd.conf

### extend ###
extend temperatures /infra/bin/temperatures.sh

/etc/init.d/snmpd reload
※注意 新規はreloadでいいんですが、extendの設定変更はreloadでは反映されない場合があるので、restart推奨

確認
cactiがインストールされているサーバーで手動で取得する。

$ snmpwalk -v 2c -c community 対象サーバー 'NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temperatures"'
NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temperatures" = STRING: 22.0
$

22度っす。
ここまでの作業で温度が取得できるようになりましたん。



【cactiにカスタムデータでグラフを出す】

Cactiの管理画面から、各種テンプレートを作成していきまーす!


まずは Console > Data Templatesを開き、Addボタンを押しましょう。
Data Templates 入力画面
---
Templates name   : DELL OM - temperatures
Data Source name : |host_description| - DELL OM - temperatures
Data Input Method : Get SNMP Data
Associated RRA's : Hourlyだけ除外する。
Internal Data Source Name : SystemBoard_Temp
---
入力したら、「SAVE」ボタンを押しましょう。


Data Templatesを保存すると縦に伸びて、下の方にCustom Data欄が出てきますので、
OIDを入力しましょう。
Custom Data入力画面
---
OID : NET-SNMP-EXTEND-MIB::nsExtendOutputFull."temperatures"
---

次にグラフのテンプレートを作成しまーす。
Console > Graph Templatesを開き、Addボタンを押しましょう。
Graph Templates 追加画面
---
Template name : DELL OM - temperatures
Graph Template Title : |host_description| - DELL OM - temperatures
Vertical Label (--vertical-label) : Temperatures
---
入力したら、「SAVE」ボタンを押しましょう。


そのままの画面で、「Graph Template Items」 #1 追加画面
---
Data Source : DELL OM - temperatures - (SystemBoard_Temp) を選択
Color : 適当なものを選択
Graph Item Type : AREAを選択
Text Format : SystemBoard_temperatures
---

そのままの画面で、「Graph Template Items」 #2 追加画面
---
Data Source : DELL OM - temperatures - (SystemBoard_Temp) を選択
Color : None
Graph Item Type : GPRINTを選択
Consolidation Function : LAST を選択
Text Format : Current:
---

そのままの画面で、「Graph Template Items」 #3 追加画面
---
Data Source : DELL OM - temperatures - (SystemBoard_Temp) を選択
Color : None
Graph Item Type : GPRINTを選択
Consolidation Function : AVERAGE を選択
Text Format : Average:
---

そのままの画面で、「Graph Template Items」 #4 追加画面
---
Data Source : DELL OM - temperatures - (SystemBoard_Temp) を選択
Color : None
Graph Item Type : GPRINTを選択
Consolidation Function : MAX を選択
Text Format : Maximum:
---

この状態でsaveして、サーバーからテンプレートを割り当ててーの、20分後にできた画面がこちらです。

週間グラフはデータが少なくてまだできてないけど、snmpwalkで取得したデータ(22度)と同じで、問題なし!


【cactiで監視する】

このOMの場合、サーバーがアラートを出すMaximum Warning Thresholdが、
42度になっているようなので、
監視は40度とか、30度後半にしておくと、サーバーからアラートが出る前に
検知することが可能ですね。

36度の人肌あたりの監視でどう???



終わり。