オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com
1. 背景Yanxuan ログ プラットフォームの初期の頃は、クラウド内のログを収集するために filebeat が使用され、クラウド外のログを収集するために flume が使用されていました。この間、私は運用と保守のトラブルシューティングに苦労しました。最もよく聞かれる質問は次のとおりです。
さらに、2 セットのログ収集エージェントが同時に保守されるため、保守コストが高くなります。 Filebeat と Flume には、どちらも次のような重大な問題があります。
同時に、他のオープンソースのログ収集エージェントも調査したところ、それらはすべて、多かれ少なかれ上記の問題を抱えていることがわかりました。さらに、完全なログソリューションはおろか、運用と保守のトラブルシューティングに役立つ十分な観測性と運用と保守の手段 (ツール) もありませんでした。 そこで、私たちは独自の研究開発の道を歩み始めました。
2. 建築設計Golang をベースにしており、従来のプロデューサー/コンシューマー モデルのマイクロカーネル設計を採用しています。パイプラインには、ソース、キュー、シンク、インターセプターの 4 つのコンポーネント概念のみがあり、インターセプターは必須ではありません。パイプラインは、構成のホット ロード、コンポーネントのホット スワップ、および相互影響を防ぐためのパイプライン間の強力な分離をサポートします。 (1)パイプライン設計パイプライン設計の当初の目的は、主に分離でした。以前、運用保守で遭遇した深刻な問題: クラウドで Filebeat を使用して複数の業務の複数のログ ファイルを収集していましたが、ログ ファイルの 1 つの収集構成トピックが誤って削除されたため、Kafka への送信に失敗してブロックされ、物理マシン全体のすべてのログがブロックされました。したがって、相互の影響を避けるために、異なる業務や優先順位のログを分離するレーン分離方式が必要です。 拡張が簡単パイプラインの簡潔な設計により、拡張が非常に便利になります。概念的には、パイプラインにはソース、キュー、シンク、インターセプターの 4 つのコンポーネントのみがあり、インターセプターは必須ではありません。概念が少ないほど、拡張機能の学習コストは少なくなります。さらに、スケーラビリティをさらに向上させるために、パイプライン内のすべてのコンポーネントがコンポーネントとして抽象化され、すべてのコンポーネントに一貫したライフサイクルと実装方法が備わっています。拡張が容易になるだけでなく、Loggie がコンポーネントを統一的に管理することも容易になります。 隔離とリロードパイプラインに基づいて、構成のホットアップデートとコンポーネントのホットロードを実装しました。リローダーおよび検出コンポーネントは、K8S CRD、http リスニングなどに基づいてパイプライン ディメンションにリロードできます (予約済みインターフェイスは、zookeeper、consul、apollo などの構成センターに接続できます)。したがって、リロード機能を確保しながら、パイプライン分離の目的も達成されます。 機能強化:インターセプターInterceptor は Loggie のオプション コンポーネントですが、Loggie で非常に重要な役割を果たします。 Loggie の拡張機能のほとんどは、電流制限、バック プレッシャー、ログのセグメント化、エンコードとデコード、文字エンコード、構造化などのインターセプターに基づいて実装されています。ユーザーは実際の状況に応じて対応するインターセプターを選択し、Loggie の適応性を向上させることができます。
3. ログ収集ログ収集エージェントの場合、通常、次の 3 つの点の設計と実装に重点を置く必要があります。
(1)効率的な収集ログを収集する際には、次の問題が懸念されます。
これは実際には 2 つの問題から構成されています。
イベントの認知ファイルイベント認識を実現するにはどうすればよいでしょうか?業界には 2 つのアプローチがあります。
どちらの方法にも長所と短所があります。
そのため、Loggie はこれら 2 つを組み合わせて、イベントをタイムリーに検出できる安全で信頼性の高いソリューションを実現します。 スケジュールされたポーリングと OS 通知を同時に有効にします。 OS 通知と比較的長い (loggie のデフォルトは 10 秒) スケジュールされたポーリングを使用して、両方で検出されたイベントをマージし、重複処理を減らして、両方の利点を享受できるようにします。 しかし、実際にテストしてみると、CPU 使用率が上昇することがわかりました。理由は次のとおりです。
では、私たちが本当に気にかけ、タイムリーに認識する必要があるイベントとはどのようなものか、再分析してみましょう。
したがって、本当に重要なのは、非アクティブなファイル書き込みイベントです。したがって、私たちのアーキテクチャは次のように調整されます。 結果:
ファイルの読み取り高速ファイル読み取りの原則:
矛盾:
したがって、ファイル読み取りの原理は次のようになります。
結果:読み取りパフォーマンスは 2G/s に達します (ローカル MacBook SSD 環境でテスト済み)。 (2)公平性公平性: ファイル間の読み取りのバランスと、ファイル読み取りの枯渇 (読み取りが利用できない期間が長いために発生するデータ遅延) の回避に配慮しています。業界には 2 つのアプローチがあります。
したがって、Loggie は「タイム スライス」に基づく読み取り方法を実装します。 結果:ロガーのすべてのログ読み取りタスクを処理するために 1 つのスレッド (goroutine) のみが使用され、公平性が最大限に保証されます。 (3)信頼性Loggie はデータが失われないようにし、少なくとも 1 回の保証を実装します。ファイル読み取りの場合、信頼性の実装には特定の特殊性があります。順序を保持する ACK が必要です。つまり、コレクション ポイント レコードの永続性の前提は、現在の ACK の前のすべての ACK が完了することです。したがって、順序保持 ACK のパフォーマンスを向上させるために、この設計にいくつかの最適化を加えました。 シンクによって送信された ack はすぐには保存されず、二重に圧縮されます。
結果: ack 永続化のための CPU 消費量とディスク IO 時間が大幅に削減されました。 (4)性能比較同じ状況で、Kafka に送信する場合の Filebeat との比較 (単一行、単一ファイル、同じ送信同時実行、解析シナリオなし):
4. 運用と保守のガバナンスLoggie をベースに、私たちは多くの運用・保守管理、アプリケーション分析を行ってきました。 (1)観察可能な長期にわたる運用、保守、トラブルシューティングの経験に基づいて要約および改良された組み込みインジケーターにより、問題を迅速に発見して特定することができます。 ワンクリックで設定できる Grafana テンプレートが提供されています: https://github.com/loggie-io/installation/tree/main/prometheus/grafana-dashboard。 (2)完全性ログの収集から最終的な保存までのプロセスは長くなる可能性があり、リンクに問題があるとログが失われる可能性があります。したがって、ログ収集ステータスを判断するには、ログ整合性検証メカニズムが必要です。私たちは通常、次の 2 つの問題を懸念しています。
では、ログが失われたかどうかをどのように計算するのでしょうか?正確な整合性計算の基本原則:
成果:シンプルで使いやすいプラットフォームの表示とデータ補足。 (3)ログ遅延リンク全体のログの遅延を計算し、キーログも遅延に基づいてタイムリーにアラームを発行します。 エンドツーエンドの遅延計算の重要性:
(4)ログ品質ログ収集後は、後続のビジネス監視アラームやビッグデータ ウェアハウスの処理、分析、計算アプリケーションに使用できます。したがって、丸太の品質がますます重要になります。では、ログの品質をどのように測定するのでしょうか?基本的に、ログは一連の処理と計算を経て、非構造化データから構造化データに変換されます。したがって、ログ構造化のプロセスにおけるログ品質スコアの計算を次のように定義します。
効果: ログ品質管理の重要性:
(5)分析と応用収集されたログ データに基づいて、ログの重要性をより高い次元に引き上げ、ログに真に強力なビジネス上の重要性を与える 2 つの重量級アプリケーションを開発しました。 リアルタイムのビジネス監視次の要件を考慮してください。
通常、これらの要件を実現するには長い開発サイクルが必要です。ただし、リアルタイムのビジネス監視に基づいて、プラットフォーム上で表示およびアラームを設定するには、わずか 5 ~ 10 分しかかかりません。 基本原則:
結果: 主要なビジネス プロセスのビジネス サービス監視とアラームの開発コストを大幅に削減し、構成を通じて、ビジネスをリアルタイムで監視およびアラームする機能を備えることができます。 フルリンクビジネスモニタリング最近ではマイクロサービスが普及しています。ユーザー操作には複数のマイクロサービス呼び出しが含まれる場合があります。次の質問について考えてみましょう。
フルリンクビジネスモニタリングが誕生しました。 取引リンクを例にとると、ホームページ -> 検索と推奨 -> 製品の詳細 -> カートに追加 -> 注文 -> 支払いのメインリンクから放射状に広がるいくつかの分岐リンクでは、全体的なトラフィックはどのようになっているでしょうか。 qps を呼び出す方法は?平均 rt はどのようになっていますか?エラー状態は何ですか?ビジネスチェーン全体の監視により明確な情報が提供されます。 コア実装原則:
ビジネスチェーン全体をリアルタイムで監視することは非常に重要です。これにより、より高い次元に立って、ビジネスプロセス全体のサービス呼び出しをグローバルな視点で検査し、チェーン内の弱いリンクや異常な状況を迅速に発見し、サービスの依存関係を最適化して、サービスの安定性を向上させることができます。 5. 結論ロギーをベースにログプラットフォーム構造を厳選しました。ログベースの問題分析と診断に対する基本的な要求を満たすと同時に、ログの品質、問題のトラブルシューティングの効率、フルリンクの観測性と保守性の機能もさらに向上しました。一方で、機能を拡張し、アプリケーションシナリオを充実させています。簡単な設定で、ログに強力なビジネス上の意味と監視セマンティクスを持たせることができ、ビジネス リンクの異常をより高い次元で調査および監視し、リンク サービスとリソースの問題を事前に発見できるようになります。 オープンソースの詳細については、以下をご覧ください。 51CTO オープンソース基本ソフトウェアコミュニティ https://ost..com |
<<: サーバーレス時代が本格的に到来し、その創始者である Amazon Web Services は他を大きくリードしています。
>>: 2023年のクラウドコンピューティングデータ管理の予測
crissic.net (米国ミシガン州に登録、登録番号: LC1314658) は、公式に 2 周...
Colocrossingは近年よく知られているコンピュータルームです。大手格安VPS業者に格安の独立...
湖北インターネット連盟によると、360検索部門はICOアルゴリズムを導入した。ICOの正式名称はイン...
世界が前例のない課題に直面する中、企業にとって環境や市場の変化に迅速に対応することが特に重要になって...
起業して7年、李雪玲はナスダック上場に一歩近づきました。北京時間10月15日夜、Huya CEOの李...
BandwagonHost VPS は、今年の Double Eleven プロモーションを実施しま...
IT 業界の業界団体 CompTIA によれば、現在、企業の 80% が、オンデマンドで起動できる仮...
1. Microsoft XP システムが本日「廃止」され、数億人の中国ユーザーがセキュリティリスク...
私は重慶に出張していたので、当然地元のウェブサイトに注目していました。「重慶ショッピングホリック」と...
デジタル化はすべての人に影響を及ぼし、企業にとって大きな可能性と課題を生み出します。ほぼすべての業界...
米国の老舗ブランドサービスプロバイダーであるServerhub(2002〜)は、現在、米国/ポーラン...
Whitelabelitsolutionsは、米国東海岸のニュージャージー州データセンターで専用サー...
7月15日、映画館で友人と「Search」という映画を見ました。チケットを買うとき、友人がどの映画を...
アプリケーションの近代化のトレンドの中で、マイクロサービスは避けられない選択肢ですデジタル経済の継続...
オーロラビッグデータは昨日、「2019年第1四半期モバイルインターネット業界データ調査レポート」を発...