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 のところをなめてもそれらしい値が出てくるので、それを使っても良い。同じだ。