- ESサーバ障害時やネットワーク障害など、BeatsからESへの通信が途絶した場合、
Beatsによって収集されたMetricデータは障害復旧後に自動的に送信されますか?
送信に失敗したときはリトライする設定がbeatsにはあるので、たとえばmetricbeatですとESへの通信が途絶し、
復旧したら、max_retriesによって自動的に送信されるようです。
これは、こんな感じで動作確認できるかと思います。
確認手順
- ESを起動
- metricbeatの起動 (max_retries: 30 )
- ESを停止
- 1分待つ
- ESを起動
- 4で停止していた時間内もデータが登録されてることをKibanaで確認
max_retriesについては、こちらに記載がありました。
- 障害時、Beatsがローカルにデータを保管する期限や場所、容量等の指定は可能でしょうか?
送信途中に落ちてしまったときのためにディスクにキューを書いておく、というPersistent queuesがLogstashにはありますが、
beatsが障害発生時にローカルファイルにデータを書き出す、という内容については私も探せませんでした。
discuss内の他の投稿で、githubからforkして作ってみるよ、という方はいらっしゃいましたが、公式にファイルに書き出す、というものは見当たりませんでした。
可用性やスケールを考慮した場合、どういう配置にするかといった点では、以下のページが参考になるかと思います。