Zabbix 3.0を使用しています。
Zabbix Server⇒Zabbix Agentに対してログファイル監視をおこなっております。 Zabbix Serverが停止し、その後起動した場合、停止していた期間のログもZabbix Server起動後に収集される認識です。 Zabbix Server起動後収集するにあたり、Zabbix Serverが停止している時間が何時間以内でないと 起動後収集が行えないなど制限はありますでしょうか?
zabbix_agentd のアクティブ系監視動作(ログ監視関連動作を含む) 全般の動作について
zabbix_agentd が全く再起動していない、という状況であっても、 状況によって、欠落は発生してしまいます
zabbix_agentd.conf 設定内の、以下の設定項目が大きく影響します
BufferSend=5 BufferSize=100 MaxLinesPerSecond=100
zabbix_server へ向けての収集結果データ報告の際に、接続不良等でデータが 登録できなかった場合、一定時間・一定量のデータは zabbix_agentd のメモリ上に バッファされます 次回接続時にうまく報告・登録できた場合にはメモリ上から消える仕組みです
一定時間以上経過してしまった、一定量を超えてしまった場合には、古いものから zabbix_server へ報告・登録できなかったデータであってもクリアされてしまい データの欠落につながります
ログ監視の場合には、そのログ行データをログファイルから読んだ時刻と、 その時の対象ログファイルのファイルサイズ情報がサーバへ送られています
モジュールの停止・起動のタイミングをうまく制御すれば、ログ情報の 欠落を最小限にできる可能性があるといえますが、逆に、一部のアクティブ監視の 情報が欠落する‥とも言えます
エージェント側のバッファ設定を大きくすると、それだけメモリ消費が増えてしまうことと サーバ側が停止状態から復旧した瞬間に、大量のデータが登録されることになるので その瞬間のサーバ側負荷が一気に上昇することについて、注意が必要です
★サーバの停止・再起動 1. zabbix_server停止 ‥保守など作業を実行 2. zabbix_server起動 ‥停止中、報告できなかったアクティブ系監視データのうち、バッファに残っているものだけが報告・登録される ‥停止時間が長ければ、バッファから溢れてしまったデータについて欠落発生
★エージェントの停止・起動も絡めてみる 1. zabbix_server停止 ‥保守など作業を実行 2. zabbix_agentd停止 ‥停止中、報告できなかったアクティブ系監視データ、バッファに残っているものを敢えて破棄 「エージェント(アクティブ)」等でCPUパフォーマンス等を収集し続けていた場合は、そちらが欠落 3. zabbix_server起動 4. zabbix_agentd起動 ‥アクティブ系監視項目についての監視設定をサーバ側からロードしてくる ‥ログファイルの監視項目についてのファイルサイズ情報は、サーバモジュール停止直前に エージェントから最後の報告が成功した時点のファイルサイズとなっている ‥エージェントは、そのファイルサイズ情報を基に、そこから増えたログを読み込んで監視収集 ‥読み込んだデータを報告・登録 「ログ監視」については欠落は発生しない 「エージェント(アクティブ)」等でCPUパフォーマンス等を収集し続けるような設定の監視項目データが欠落
fripper様
ご回答頂き、ありがとうございます。 Agent側のメモリでどれくらい蓄積するかによって、復旧までの時間がかわるということですね。
アカウント名 dondoc
Zabbix関連
fripper - 投稿数: 495
zabbix_agentd のアクティブ系監視動作(ログ監視関連動作を含む)
全般の動作について
zabbix_agentd が全く再起動していない、という状況であっても、
状況によって、欠落は発生してしまいます
zabbix_agentd.conf 設定内の、以下の設定項目が大きく影響します
BufferSend=5
BufferSize=100
MaxLinesPerSecond=100
zabbix_server へ向けての収集結果データ報告の際に、接続不良等でデータが
登録できなかった場合、一定時間・一定量のデータは zabbix_agentd のメモリ上に
バッファされます
次回接続時にうまく報告・登録できた場合にはメモリ上から消える仕組みです
一定時間以上経過してしまった、一定量を超えてしまった場合には、古いものから
zabbix_server へ報告・登録できなかったデータであってもクリアされてしまい
データの欠落につながります
ログ監視の場合には、そのログ行データをログファイルから読んだ時刻と、
その時の対象ログファイルのファイルサイズ情報がサーバへ送られています
モジュールの停止・起動のタイミングをうまく制御すれば、ログ情報の
欠落を最小限にできる可能性があるといえますが、逆に、一部のアクティブ監視の
情報が欠落する‥とも言えます
エージェント側のバッファ設定を大きくすると、それだけメモリ消費が増えてしまうことと
サーバ側が停止状態から復旧した瞬間に、大量のデータが登録されることになるので
その瞬間のサーバ側負荷が一気に上昇することについて、注意が必要です
★サーバの停止・再起動
1. zabbix_server停止
‥保守など作業を実行
2. zabbix_server起動
‥停止中、報告できなかったアクティブ系監視データのうち、バッファに残っているものだけが報告・登録される
‥停止時間が長ければ、バッファから溢れてしまったデータについて欠落発生
★エージェントの停止・起動も絡めてみる
1. zabbix_server停止
‥保守など作業を実行
2. zabbix_agentd停止
‥停止中、報告できなかったアクティブ系監視データ、バッファに残っているものを敢えて破棄
「エージェント(アクティブ)」等でCPUパフォーマンス等を収集し続けていた場合は、そちらが欠落
3. zabbix_server起動
4. zabbix_agentd起動
‥アクティブ系監視項目についての監視設定をサーバ側からロードしてくる
‥ログファイルの監視項目についてのファイルサイズ情報は、サーバモジュール停止直前に
エージェントから最後の報告が成功した時点のファイルサイズとなっている
‥エージェントは、そのファイルサイズ情報を基に、そこから増えたログを読み込んで監視収集
‥読み込んだデータを報告・登録
「ログ監視」については欠落は発生しない
「エージェント(アクティブ)」等でCPUパフォーマンス等を収集し続けるような設定の監視項目データが欠落
dondoc - 投稿数: 86
fripper様
ご回答頂き、ありがとうございます。
Agent側のメモリでどれくらい蓄積するかによって、復旧までの時間がかわるということですね。