無償版 ESXi でハードウエアの状態を監視したい

具体的には温度とか消費電力とかを監視したいのです。ESXi が動いてるサーバの。

vCenter Client で見れば「現在の値」は出とるのだけど、そんなんずっと見てられへんわ。

VMware の有償版だとなんかすてきなインタフェースがあるんでしょうか。その辺知らないんですけど無償版でどうするよと。

そしたら WBEM (Web-Based Enterprise Management) を使ってシステムをリモートから管理できるという。

VMware: VMware ESXi Chronicles: Hardware Health Monitoring via CIM などの記事を見てると Python で書けるという。 pywbem を入れればホイホイいけるという。

サンプル見てやってみたけど Python の作法も pywbem の作法もよくわからなくて即挫折。次。

redhat 系なら sblim-wbemcli を入れれば wbemcli が使えるので、これでアクセスすればよくね?ってことで。

# wbemcli ei -nl -noverify 'https://root@server:5989/root/cimv2:CIM_NumericSensor'

おおお!センサから取得してるデータがたくさん出てきます。

"Front Panel Board 1 Ambient Temp" が温度でしょう。 "Power Distribution 0 Avg Power" が消費電力でしょう。

こんな風に無理矢理数字を引っ張り出します。

まず温度。摂氏。

# wbemcli ei -nl -noverify 'https://root@server:5989/root/cimv2:CIM_NumericSensor' | awk 'BEGIN{RS="";FS="="}/50\.0\.32\.99/{print $4/100}'

つぎ消費電力。ワット。

# wbemcli ei -nl -noverify 'https://root@server:5989/root/cimv2:CIM_NumericSensor' | awk 'BEGIN{RS="";FS="="}/46\.0\.32\.99/{print $4/100}'

これでデータが取れるのでこいつを zabbix-agentd から呼び出して監視するぜ。