障害時のBeats動作について教えてください

  • ESサーバ障害時やネットワーク障害など、BeatsからESへの通信が途絶した場合、
    Beatsによって収集されたMetricデータは障害復旧後に自動的に送信されますか?

送信に失敗したときはリトライする設定がbeatsにはあるので、たとえばmetricbeatですとESへの通信が途絶し、
復旧したら、max_retriesによって自動的に送信されるようです。

これは、こんな感じで動作確認できるかと思います。

確認手順

  1. ESを起動
  2. metricbeatの起動 (max_retries: 30 )
  3. ESを停止
  4. 1分待つ
  5. ESを起動
  6. 4で停止していた時間内もデータが登録されてることをKibanaで確認

max_retriesについては、こちらに記載がありました。

  • 障害時、Beatsがローカルにデータを保管する期限や場所、容量等の指定は可能でしょうか?

送信途中に落ちてしまったときのためにディスクにキューを書いておく、というPersistent queuesがLogstashにはありますが、
beatsが障害発生時にローカルファイルにデータを書き出す、という内容については私も探せませんでした。
discuss内の他の投稿で、githubからforkして作ってみるよ、という方はいらっしゃいましたが、公式にファイルに書き出す、というものは見当たりませんでした。

可用性やスケールを考慮した場合、どういう配置にするかといった点では、以下のページが参考になるかと思います。