複数ZabbixServerによるTemplate App Zabbix Serverを用いた相互監視について
お世話になっております。
表題のZabbixServerが複数ある環境における相互監視について質問させてください。
監視設定内容が同じZabbixサーバーを2台構築し、監視を二重化するような環境を想定しています。
こうした環境でZabbixサーバー#1から#2の、Template App Zabbix Serverテンプレートで取得できるような
ZabbixServerプロセス情報を取得したいと考えております。(各種キャッシュやポーリングプロセス使用率など)
Template App Zabbix ServerテンプレートではローカルのZabbixServerプロセス情報しか参照できないので
#1から#2のような、自分以外のZabbixの情報は取得できないと認識しています。
何か代替の方法でZabbixServerプロセスの情報を取得する方法をご存じないでしょうか。
heya - 投稿数: 319
あまり細かい情報は取れないと思います。
取れるとしたらこのくらいですかね(全く試していませんが・・・)。
・zabbix_server のプロセス数なら proc.num[zabbix_server] を監視すればいいです。
・もうちょっと細かく分けて数えるなら proc.num[,,,"zabbix_server: poller"] みたいにすればいいんじゃないでしょうか(poller に相当する部分は ps -ef で確認)。
・メモリであれば proc.mem[略] が使えそうです。
・エージェントからの通信(Zabbixトラッパー)を受け付けているか(10051番ポートで待ち受けているか)は net.tcp.listen[10051] で確認できます(それを外から調べるなら net.tcp.service を使う手もあります)。
heya - 投稿数: 319
少し追記します。
ただ、そこまで細かく見てどうするの?という気もします。
相互監視ということは、片方が落ちたときも問題なく監視を継続したい、ということでしょうが、Zabbix サーバーが落ちたときにその Zabbix サーバーの情報なんて取りようが無いし、動いてないプロセスの CPU 使用率とか、意味ないですよね?
#落ちる直前がどうだったかは、自分で収集しているだろうし。
せいぜいプロセスが動いているかどうか(proc.num が 1 以上か 0 か)くらい見れば十分な気がします。
Zabbix サーバーの情報って、「リソースが足りているか」「ボトルネックはどこか」などといったことを調べる目的のものだろうから、それなら自分自身で収集するだけで十分だと思います。
sachi - 投稿数: 5
heyaさん、返信ありがとうございます。
やはりagentのproc.num等で取得する方法しか無いですよね・・・
障害時のリストアのし易さの観点からZabbix #1,#2は極力同じ構成にしたいと考えています。
(片方が壊れた際、生きている方のDBをリストアして復旧)
Zabbix#1,#2 共にagentで取得できる情報だけに絞って監視すれば
上記の構成は満たせるのですが、出来るならTemplate App Zabbix Serverにあるようなレベルの
情報を両サーバーで収集、監視したいなと思い質問させていただいた次第です。
背景を十分説明しておらずすいません。