HA構成時のZabbixの監視について
お世話になります。
AWS上にZabbixマネージャを構築し、オンプレ+クラウド環境の監視を検討しております。
Zabbixマネージャについては、Heartbeatによるクラスタの構成をとります。
①Zabbixマネージャサーバが待機系にフェイルオーバーしている最中の
エージェントからの監視情報はロストしてしまうのでしょうか。
あるいはエージェントでタンキングされ、マネージャプロセスの起動後に取得できるのでしょうか。
②HeartbeatによりZabbixマネージャのフェイルオーバーは実施されますが、
フェイルオーバが実施されたことを検知する方法はないと理解してよろしいでしょうか。
TNK - 投稿数: 4760
Zabbixエージェントを利用したアイテムの情報を取得する方法とし
て、
・アイテムのタイプが「Zabbixエージェント」
Zabbixサーバ側から接続してZabbixエージェントにリクエ
ストを投げて値を取得する
・アイテムのタイプが「Zabbixエージェント(アクティブ)」
Zabbixエージェント側から接続してZabbixサーバに値を通
知する
の2つのパターンがあります。
前者であれば、Zabbixサーバプロセスが停止している間は値が取得
できません。
後者であれば、Zabbixサーバ側に接続して値を通知できなかった場
合は、zabbix_agentd.confに設定した範囲で値を蓄えて、接続でき
た時点でZabbixサーバ側に通知することができたと思います。
Zabbixサーバプロセス自体も別サーバにフェイルオーバーさせるよ
うな構成であれば、各サーバ自体のホスト名は異なるのではないで
しょうか?
そうであるならば、そのホストにデフォルトのテンプレート
Template OS Linux
を紐づけていると、フェイルオーバー後、トリガー
Host information was changed on {HOST.NAME}
のチェックにひっかかると思います。
もしくは、Heatbeatなどの機能を利用して、どのノードで稼働して
いるかを取得するスクリプトを作成し、外部スクリプトの実行でそ
のスクリプトを実行して値を取得するようにします。
そして、その値が変化したかどうかをチェックするトリガーを作成
すれば、稼働しているノードが変化したことを検知することができ
ると思います。