いくつかのGraylog2サーバー(graylog-serverバージョン1.3.4)を使用しています。受信するログメッセージが多すぎるため、大量のメモリが必要になります。ログの保持期間を1週間に短縮しようとしていますが、1週間より古いログメッセージはすべて削除されます。しかし、それを行うための値を構成ファイルで見つけることができません。
「max_time_per_index = 7d」の値を使用しましたが、max_time_per_indexは、インデックスがローテーションされて新しいインデックスが作成されるまでのインデックスの経過時間を定義しているようです。そのインデックス内のメッセージではありません。
では、メッセージの保持を1週間に設定する最良の方法は何ですか?私を助けてください。どうもありがとう。
これは、Graylog_2以降のWebGUIを使用して簡単に構成できます。
[管理]ドロップダウンメニューの[システム/インデックス]に移動します。 [設定]で、 Update configuration ボタン。
「インデックス時間」、ローテーション期間= P1D(1日)に等しくなるようにインデックスローテーション構成を構成します。 「インデックスを削除」するか、単に閉じるかを決定してから、インデックスの最大数を「8」に設定する必要があります。これにより、現在の日と過去7日間のインデックスが維持されます。
注:
Graylog Enterpriseエディションには「アーカイブ」ログファイルのオプションが付属しています これは基本的にログファイルを圧縮し、別の保存場所(テープまたは別の保存場所)に移動できるようにします。
これを実現する1つの方法は、インデックスを毎日ローテーションし、インデックスの最大数を8に維持することです。これにより、Elasticsearchクラスターに常に丸1週間+ログの現在の日があります。
elasticsearch_max_time_per_index = 1d
elasticsearch_max_number_of_indices = 8
Graylogのインテリジェントな時間範囲選択機能のおかげで、より多くのインデックスとより少ないローテーション時間を使用することで、検索パフォーマンスがさらに向上する可能性があることに注意してください。たとえば、データが多い場合、これにより検索結果が速くなります。
elasticsearch_max_time_per_index = 12h
elasticsearch_max_number_of_indices = 16
インデックスの数を15に減らしても、1週間分のデータを保持することもできます。
グレイログサーバーは次のように構成する必要があります:elasticsearch_max_time_per_index = 1d elasticsearch_max_number_of_indices = 7 rotation_strategy: time
戦略が使用されることに注意してください、この場合は時間でなければなりません。それはうまくいきました。