0
私はRedisでサポートされているELKスタックを使用していますが、何らかの理由でElasticSearchが利用できない場合に問題が発生することがあります。ログイベントのLogstash + Elasticsearchフェールオーバーをローカルで実行するか、または再試行してください
フロー:
- サーバーは
- サーバがローカルRedisのサービス にLogstashサーバーにリモート
- Logstash-入ってくる書き込みを押して、ログを収集、ログ・宅配便を実行ログを生成します
- Redisは、バッファとして機能する処理対象のイベントを保持します。
- Redisキューからログアウトし、grokやその他のフィルタを実行してから、Elasticsearchクラスタに出力します。
logstash-incoming.conf
input {
courier {
port => 123
transport => "tcp"
}
}
output {
redis {
host => "127.0.0.1"
data_type => "list"
key => "logstash"
}
}
logstash-outgoing.conf
input {
redis {
host => "127.0.0.1"
data_type => "list"
key => "logstash"
}
}
output {
elasticsearch {
hosts => "elasticsearchcluster.local"
}
}
ステップ5で障害が発生した場合、イベントはRedisのからポップされ、Logstashは3を尽くします倍のペイロードをブラックホールして、データ収集に穴を開ける。
- がはるかに寛大なものに3回から待ちのX 2秒、リトライを行う拡張:
するいずれかの方法があります。
- 問題が解決したら、ペイロードをディスクに書き込んで、ElasticSearchに戻すことができます。理想的には、両方とも。