サーバ室の温度計測

サーバ室の温度計測を行うために、マシン自体の温度測定を行おうと思っております。
サーバなどではなく、通常のWindowsマシンで温度測定を行おうと考えているのですが、何かいい方法はありませんでしょうか?SNMPを使った方法でも構いません。

アイテムとトリガーの式も分かるようでしたら教えてください。

よろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

OSがLinuxで、利用しているサーバのハードウェアが対応している
チップセットを利用していると、CentOSならlm_sensorsというパッ
ケージを利用し、その中のsensorコマンドでCPUやマザーボードの
温度や各種電圧、ファンの回転数などを取得して監視することがで
きます。

Windowsですと、WMIを利用して取得できる場合もあるようなのです
が、取得できるかどうかはサーバのハードウェアが対応しているか
どうかに依存するようです。
Win32_TemperatureProbeというクラスを利用するようなのですが、
私が試せたPCでは対応していなかったため、どう取得できるかまで
確認できませんでした。

他には、OSの標準機能ではなく、他のパッケージをインストールし
て良いのであれば、以前、Zabbixと組み合わせて試されていた方が
いらっしゃいましたので、その方法も参考にしてみてください。

 [Zabbix][システム監視] Windows OS上からCPUとGPUの温度を取得する方法。
  http://kometchtech.blog.fc2.com/?no=1158

ただし、SpeedFan SNMP Extensionのサイトが現在アクセスできな
い状態かもしれません。

あとは、安価なデスクトップPCではなく、IPMIなどの管理ボードが
利用できるサーバであれば、IPMIを利用することで監視できると思
います。

ユーザー Ryo Sugisaki の写真

TNKさん

回答ありがとうございます。

>OSがLinuxで、利用しているサーバのハードウェアが対応しているチップセットを利用していると、CentOSならlm_sensorsというパッケージを利用し、その中のsensorコマンドでCPUやマザーボードの温度や各種電圧、ファンの回転数などを取得して監視することができます。

VMware Server 2.0上で動かしているCentOSでもlm_sensorsを使って温度やファンの回転数を監視できますでしょうか?この場合、VMware ServerをインストールしているWindows端末の温度になると思いますが。

>ただし、SpeedFan SNMP Extensionのサイトが現在アクセスできない状態かもしれません。

私もSpeedFan SNMP Extensionを取得してやろうと考えていたのですが、どこを探してもSpeedFan SNMP Extensionが見つからず、ダウンロードできませんでした。

USB温度計を使った方法も考慮していますが、手軽にできる方法があるといいのですが。

ユーザー TNK の写真

VMware Server 2.0上で動かしているCentOSでもlm_sensorsを使って温度やファンの回転数を監視できますでしょうか?この場合、VMware ServerをインストールしているWindows端末の温度になると思いますが。

残念ながらできません。

VM上からは、VMwareによってエミュレートされたハードウェアまで
しか見ることができません。

SpeedFan SNMP Extensionが入手できれば、SpeedFanとSNMPエージ
ェントと組み合わせるのが比較的簡単に実現できそうなのですが、
なかなか見つかりませんね。

ユーザー Ryo Sugisaki の写真

SpeedFan SNMP Extensionの代替手段としてsf2mrtgがありますが、sf2mrtgを使ってZabbixで監視できませんでしょうか?

ユーザー KAZ の写真
Ryo Sugisakiさん

SpeedFan とsf2mrtgをVMware上のWindows8に入れてみました。
こんなかんじで取れます。
先頭の「10000」が温度です。(readme読むと実際の値を100倍しているとなっています。)
C:\Users\xxxxx\Desktop\sf2mrtg-10>sf2mrtg.exe
10000
0
uptime 0 days 01 hours 09 minutes
Temperature
先頭1行のみ取り100で割ってやればよいかと…

因みにSpeedFanでログ出力すると[SFlog{yyyymmdd}.csv]と言うファイルをインストールDirに出力します。
これの最終行の2カラム目を読んでもOKかと
Seconds	Core 0
47556	100.0
47559	100.0
47562	100.0
47565	100.0
ユーザー Ryo Sugisaki の写真

KAZさん

ありがとうございます。
私の方でやるとSFlog{yyyymmdd}.csvにSecondsの値しか出てきませんでした。
なので、sf2mrtgの先頭1行目の値をとり、100で割ってあげようと考えていますが、EXEを実行し、先頭の値をとり、100で割るというのはZabbixのアイテムでどのように指定すればよいのでしょうか?

ユーザー KAZ の写真

Ryo Sugisakiさん


私の方でやるとSFlog{yyyymmdd}.csvにSecondsの値しか出てきませんでした。

それ秒数です。
温度タブで温度を取りたいcpuやHDDを選択して記録するをチェックしないと温度は取れません。
添付参照してみてください。


なので、sf2mrtgの先頭1行目の値をとり、100で割ってあげようと考えていますが、EXEを実行し、先頭の値をとり、100で割るというのはZabbixのアイテムでどのように指定すればよいのでしょうか?

計算アイテム使ってみてはどうでしょうか?
<url>
http://wiki.arashike.com/zabbix/calc_item

ユーザー Ryo Sugisaki の写真

KAZさん

Speedfanで無事に温度情報の入ったCSVファイルを出力することが出来ました。
私自身があまり物分かりが良いほうではないので、簡単な方法でやろうと考えており、logrtアイテムで最新の1行の3フィールド目の値を監視し、CPU温度が40℃を上回ったらアラートを出そうかと考えているのですが、アイテムがうまく作れません。

logrtアイテムで最新の1行の3フィールド目の値を監視を実現するにはどうすればよいでしょうか?
分かり易く教えていただけると助かります。

よろしくお願い致します。

ユーザー KAZ の写真

Ryo Sugisakiさん

下記のURL参考になりますか?
以前、Windowsで最終行の2フィールド目を取得する内容について書いてます。

http://www.zabbix.jp/node/2604

一点注意が必要なのは、Speedfanのログはcsv(Comma Separated Values)となってますが、フォーマットはtsv(Tab Separated Values)です。
デリミタはタブ文字になります。

ユーザー Ryo Sugisaki の写真

KAZさん

URLを参考にすると以下のようになるのでしょうか?
デリミタがタブの場合、カンマの部分はどう変えれば良いのでしょうか?

【zabbix_agentd.conf】
UserParameter=speedfan,tail -1 C:\Program Files\SpeedFan\SFLog*.csv| cut -f 3 -d ','

【アイテムキー】
logrt["speedfan"].regexp("^[^,]+,[^,]+,1,")}>=8000

ユーザー KAZ の写真

Ryo Sugisaki さん

■その1
「〜 cut -f 3 -d '\t'」ですかね?

■その2
ユーザパラメータは「SFLog*.csv」だとローテーションしたログも取るので、「SFLog????????.csv」かと
※:文字数で最新のファイルのみ指定

■その3
アイテムはユーザパラメータなのでlogrtじゃなくて、下記のようになるかと…
タイプ :Zabbixエージェント
キー  :speedfan[]
データ型:浮動小数

ユーザー Ryo Sugisaki の写真

実際にやってみたのですが、ステータスが「取得不可」となってしまいます。
メッセージは「Not supported by Zabbix Agent」と出ます。

Windowsなので、tailやcutのコマンドが無いせいなのかと思ってインストールしたのですが、やはりだめです。

どうすれば良いものでしょうか?
ちなみに、zabbix_getでやると値はちゃんと取れています。

# zabbix_get -s 192.168.1.4 -k speedfan
37.0

ユーザー TNK の写真

zabbix_getを利用してZabbixサーバが稼働しているサーバから値を
取得できているのであれば、アイテムの「データ型」を確認してく
ださい。

先ほど記載頂いたように、zabbix_getを実行して「37.0」という値
が返ってきているのであれば、データ型として「数値(浮動小数)」
を選択しないと、数値として受け取れないと思います。

データ型が「数値(浮動小数)」になっていたならば、一度アイテム
を無効 -> 有効と切り替えてみてください。

ユーザー Ryo Sugisaki の写真

KAZさん、TNKさん

解決しました。
長きに渡り、アドバイス頂きありがとうございました。
本当に助かりました。

ユーザー KAZ の写真

Ryo Sugisakiさん

温度監視できたみたいですね、良かったです。

TNKさん、フォロー感謝です。m(__)m