Zabbix で Windows 監視しちゃえばいいじゃん

Windows機 を Zabbix で監視するときの設定方法。サーバは既に準備済みということで。

このサイトが参考になりました → Monitoring Windows with Zabbix 1.8 | Packt Publishing Technical & IT Book Store

ここでは Zabbix version 1.8.2 を使用。

 

■Agent側

 

まずは Windows機に Agent を導入します。

Zabbixオフィシャル日本語サイト http://www.zabbix.com/jp/download.php から .zip のファイルを取得して展開。

ファイルがバラバラになると面倒なので一か所にまとめてみる。ここはそれぞれの運用方法に合わせて。

たとえば C:\zabbix に .zip のファイルから、アーキテクチャにあったバイナリをコピー。

同フォルダ内に zabbix_agentd.conf を作成。他ノードのファイル丸写しで、一部書き換え。
 

LogFile=C:\zabbix\zabbix_agentd.log #同ディレクトリに全部まとめる方針

Hostname=winhostname #Agentの適当なホスト名

ListenIP=192.168.100.101 #AgentのIPアドレス
 

コンソールアプリとして起動してもつまらないのでサービスとして登録する。

C:\zabbix> C:\zabbix>zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.conf -i

これでサービス登録されたので、あとはサービスの画面から好きに操作するといい。

Windows Firewall が有効になっている場合サーバと通信できないので(サーバがエージェントを呼びに来る通信方向なので)、都合の良いようにフィルタルールを加えるとよい。

 

■Server側

 

Zabbix サーバ側からホスト追加すれば監視開始可能。

テンプレート Windows_Template には監視できる項目があまりたくさん入ってないのでつまらない。

Windows の パフォーマンスモニタでモニタリングできる項目はほぼ監視できるので、これをどんどんアイテムに登録してゆくとよい。

たとえばCPU使用率であれば、

perf_counter[\Processor(_Total)\% Processor Time]

たとえばCPU周波数であれば、

perf_counter[\Processor Performance(PPM_Processor_0)\Processor Frequency]

perf_counter[\Processor Performance(PPM_Processor_1)\Processor Frequency]

たとえばネットワークインタフェースの通信量であれば

perf_counter[\\Network Interface(Broadcom BCM5709C NetXtreme II GigE)\Bytes Received/sec]

perf_counter[\\Network Interface(Broadcom BCM5709C NetXtreme II GigE)\Bytes Sent/sec]

ネットワークインタフェースは、これは名称がドライバに依存するので環境によって違う。

ここがマルチバイト文字だと Zabbix は認識してくれない。

この場合、名称に対応する番号があるので、その番号を使うとよい。番号の求め方は、レジストリデータベースの中から探してくるという方法。

詳しくは最初にリンクしたサイトに書いてある。

snmpwalk とかで if のところをなめてもそれらしい値が出てくるので、それを使っても良い。同じだ。