Graylog2を選択した方法





比較的大規模な生産では、遅かれ早かれ、ログの集中収集と表示の問題が生じます。 現在、オープンソース、有料、オンライン、およびオンプレミスのソリューションの膨大な選択があります。 特定のケースでの選択プロセスの概要を説明します。



このレビュー記事では、Graylog2の主な機能について説明し、その理由と、それを選択した理由と操作方法について説明します。



インフラストラクチャについて少し( ここでもう少し読むことができます ):世界中に7つのデータセンター、約500の運用サーバー、ログを収集する数百の異なる種類のアプリケーションを使用しています。 これらはすべてLinuxとWindowsの両方で実行されており、異種サービスがトップで回転しています。 すべてのサービスには独自のログ形式がありますが、独特なStackTraceを持つJavaもあります。



要件と結果として得たいもの



プログラマーと関心のあるすべての人にとって、ログの要件は簡単でした。





ここでは複雑なことは何もありません。すべてが普通です。 しかし、この場合、サービスを提供するために次の要件を満たす必要がありました。





この要件のセットは非常に重要であったため、新しいサービスが既存のインフラストラクチャに完全に適合し、自動化、権利の分配の特性を考慮し、時間がかかりすぎる黒人の羊ではありません。 このサービスは、エンドユーザーにとって便利であり、要件を満たす必要があります。



この段階では、いくつかの商用ソリューションとオープンソースのGraylog2しか持っていないことに気付きました。



ログとロードの数を数える方法



要するに、方法はありません。 したがって、ここでは、この問題で私たちを助けた主なアプローチとニュアンスを指摘します。



最初は、フォーカスサーバーグループのログの数を取得して調べ、2週間にわたる変更のダイナミクスを測定しました。 結果の数にサーバーの数を掛けました。 その結果、ログの平均数は1日あたり約1TBでした。 これらのログは、2週間から3か月間保存する必要がありました。



この段階では、商用ソリューションと独自のインフラストラクチャを計算するときに、Graylog2を使用することが決定されました。 実際の負荷を計算する最良の方法は、prodトラフィックの一部をテストサーバーに取得することであると判断したため、1つのGraylog2ノードを展開し、そこに特定のフォーカスグループからトラフィックを送信しました。



約1週間で、1秒あたり1万から2万メッセージの負荷が発生し、一般的に、戦闘クラスターを展開する際にこれらの数値を使用する準備ができていました。 しかし、ある時点でサーバーで何かが壊れ、ログの数がほぼ10倍に増加し、1つのサーバーで1秒あたり最大10万件のメッセージが急増しました。 同時に、JavaアプリケーションのStackTraceの一部が、許可されたログサイズに収まりませんでした。 この時点で、ログはこのような重大な状況での便利な作業のためにのみ必要であり、以前の計算はすべて通常の状態でのみ実行されることに気付きました。



主な調査結果:





Graylog2の機能の簡単な説明



選択した主な理由:





この機能は、ほとんどすべてのニーズを満たし、寿命を大幅に短縮しました。 疑わしい未来のテストサービスからわずか数か月で、それはかなり重要なビジネスクリティカルなユニットに変わり、6か月間、タスクで非常にうまく機能しました。



もちろん、このようなソリューションの導入は、最も透過的なプロセスではありません。 初期設定時とその後の運用中の両方で、かなりの数のニュアンスと落とし穴に直面しました。 次の記事では、Graylog2とそのコンポーネント(MongoDBやElasticsearchなど)をどのように調整および調整したかを正確に説明します。



All Articles