雑廉堂の雑記帳

ZabbixでCPU温度の監視

ZabbixでWindows ServerのCPU温度監視の設定についての覚書。

ありがたいことに、今年のはじめにシステム室とサーバルームを会社に作ってもらいました。

これまでは、事務所の片隅にサーバラックと共に仕事をしていたのですが、日々の気温変化や、電源容量にいちいち神経をすり減らすことも大分なくなり、管理業務に集中できる日々が続いています。

とそんな矢先、サーバルームで出火(!)する夢を見てしまい、やはり意識の奥底にはサーバルームにまつわる不安を抱えているのか、、と改めて実感したわけです。

以前から、Windowsの実機サーバに対しては、Zabbixエージェントをインストールして、古いサーバ(Ubuntu10.04)にZabbix1.8を立てて監視していたのですが、今回はUbuntu16.04 LTSで稼働させている仮想マシンに入れたZabbix3.2から改めて監視させてみようと作業してみました。

使用環境

ゴール

Windows Serverでの作業

SpeedFan+SFSNMP

今回はすでに導入済みのため触れませんが、はじめから導入する際は、参考にしたサイトを元に導入します。

Zabbixエージェント

すでに、C:\Zabbixにエージェントがインストールされているとして・・・

古いZabbixのエージェントがサービスとして起動しているで、一旦サービスを削除。

>  c:\Zabbix\zabbix_agentd.exe -c c:\Zabbix\zabbix_agentd.win.conf -d

ここからZabbixエージェントをダウンロード(Zabbixサーバのバージョンと合わせる)。

zipファイルを展開して、中身をC:\Zabbixに移動。

zabbix-agentd.win.confファイルを編集する。 1

LogFile=C:\Zabbix\zabbix_agent.log
DebugLevel =3
Server=192.168.0.1     # サーバーのIP or ホスト名
ListenIP=192.168.0.100 # 自身のIP
StartAgents=3
ServerActive=192.168.10.0.1
Hostname=WINSERV2008R2
Timeout=3

Zabbixをサービスとしてインストール

>  c:\Zabbix\zabbix_agentd.exe -c c:\Zabbix\zabbix_agentd.win.conf -i

インストール後、管理ツール->サービスでZabbix Agentを起動する。

Zabbixサーバでの作業

SNMPを取得できるか確認

snmpwalkコマンドを使って、CPU温度周りの情報を取得。

$ snmpwalk -On -v 2c -c public 192.168.0.100 .1.3.6.1.4.1.30503
.1.3.6.1.4.1.30503.1.1.1 = INTEGER: 4
.1.3.6.1.4.1.30503.1.1.2 = INTEGER: 0
.1.3.6.1.4.1.30503.1.1.3 = INTEGER: 0
.1.3.6.1.4.1.30503.1.2.1 = INTEGER: 3400
.1.3.6.1.4.1.30503.1.2.2 = INTEGER: 3200
.1.3.6.1.4.1.30503.1.2.3 = INTEGER: 3100
.1.3.6.1.4.1.30503.1.2.4 = INTEGER: 3300
.1.3.6.1.4.1.30503.1.5.1 = STRING: "34.00"
.1.3.6.1.4.1.30503.1.5.2 = STRING: "32.00"
.1.3.6.1.4.1.30503.1.5.3 = STRING: "31.00"
.1.3.6.1.4.1.30503.1.5.4 = STRING: "33.00"
.1.3.6.1.4.1.30503.1.5.4 = No more variables left in this MIB View (It is past the end of the MIB tree

この場合、.1.3.6.1.4.1.30503.1.2.*がCPUのコア毎の温度であると推測できます。

ホストの登録

設定->ホストで、ホストの作成をクリック。

しばらくしてから、設定->ホストでホストの一覧を表示し、エージェントの状態を確認。

ZBX、SNMPがグリーンではなく赤い表示の場合は失敗しているので、設定を確認する。その他の確認事項としては、、

等があると思われます。

ホストにアイテムを追加

これも少し間を置いてから、アイテムの一覧を表示させてエラーが置きていないかどうか確認します。

メールを送信できるようにする

メディアタイプを設定

Zabbixの警告などをメールで送信できるように設定します。

ここでのメール送信サーバは以下のようなサーバを想定しています。

ユーザーにメディアを割りあて

ここでは、キー名がcensors.cpu0.tempの値(温度)が、60℃を超えたら警告を発砲して、メールで送信できるようにします。

トリガーを設定

先に設定したCPU温度の監視アイテムで、過去5分間の平均温度が60℃を超えたら警告を発砲し、メールを送信するように設定します。

実際にトリガーを発砲させてみる

トリガーがきちんと作用して、メールが送信されるか確認。

確認終了後、条件式を元に戻しておく。

参考にしたサイト


  1. 今回、1.8系から3.2系へのアップグレードに関しては、変更の必要は内容に思われますが念の為。 
モバイルバージョンを終了