目次
1. 概要
2. ELK 共通デプロイメント アーキテクチャ
IV. 概要
ホームページ バックエンド開発 PHPチュートリアル 分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

May 05, 2018 pm 03:10 PM
配布された 分析する 解決

ELK は現在最も人気のある集中ログ ソリューションとなっており、主に Beats、Logstash、Elasticsearch、Kibana などのコンポーネントで構成されており、リアルタイム ログの収集、保存、表示などのワンストップ ソリューションを共同で実行します。この記事では主に、分散型リアルタイム ログ分析ソリューションの ELK 導入アーキテクチャについて紹介します。必要な方はぜひご覧ください

おすすめコース→:「Elasticsearch 全文検索の実践」(実践ビデオ)

コースから「数千万データの同時実行ソリューション (理論 + 実践)」

1. 概要

ELK は現在最も人気のある集中ログ ソリューションとなっており、主に Beats で構成されています。 Logstash、Elasticsearch、Kibana リアルタイム ログの収集、保存、表示などのワンストップ ソリューションを共同で完成させるための他のコンポーネントで構成されています。この記事では、ELK の一般的なアーキテクチャを紹介し、関連する問題を解決します。

  • Filebeat: Filebeat は、サービス リソースをほとんど消費しない軽量のデータ収集エンジンです。ELK ファミリの新しいメンバーであり、アプリケーション サーバー側のログ収集エンジンとして Logstash を置き換えることができ、収集されたデータの収集をサポートします。データを Kafka、Redis、およびその他のキューに出力します。

  • Logstash: Filebeat よりも重いデータ収集エンジンですが、多数のプラグインが統合されており、豊富なデータ ソースの収集をサポートしており、収集されたデータはフィルタリング、分析、ログ形式でのフォーマットが可能です。 。

  • Elasticsearch: Apache
    Lucene に基づいて実装された分散データ検索エンジンはクラスター化可能で、データの一元的なストレージと分析に加え、強力なデータ検索と集計機能を提供します。

  • Kibana: データ視覚化プラットフォーム。この Web プラットフォームを通じて、Elasticsearch の関連データをリアルタイムで表示し、豊富なチャート統計機能を提供できます。

2. ELK 共通デプロイメント アーキテクチャ

2.1. ログ コレクターとしての Logstash

このアーキテクチャは、Logstash コンポーネントがログ コレクターとして各アプリケーション サーバーにデプロイされ、その後データが配置されます。 Logstash によって収集されたデータは、Elasticsearch ストレージに送信される前にフィルタリング、分析、フォーマットされ、最後に視覚的な表示に Kibana が使用されます。このアーキテクチャの欠点は、Logstash がサーバー リソースを消費するため、アプリケーション サーバーの負荷が増大することです。

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

2.2. ログコレクターとしての Filebeat

このアーキテクチャと最初のアーキテクチャの唯一の違いは、アプリケーション側のログ コレクターが Filebeat に置き換えられ、使用するサーバー リソースが少なくなることです。したがって、Filebeat をアプリケーション サーバー上のログ コレクターとして使用します。一般に、Filebeat は Logstash と一緒に使用され、現在最も一般的に使用されているアーキテクチャでもあります。

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

2.3. キャッシュキューを導入するデプロイメントアーキテクチャ

このアーキテクチャは、Filebeat によって収集されたデータを Kafka に送信するための 2 番目のアーキテクチャに基づいて Kafka メッセージキュー (他のメッセージキューでも可) を導入します。 Logstasth を介して Kafka でデータを読み取ります。このアーキテクチャは主に、大規模なデータ量でのログ収集ソリューションを解決するために使用され、データのセキュリティを解決し、Logstash と Elasticsearch の負荷圧力のバランスをとるために使用されます。

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

2.4. 上記の 3 つのアーキテクチャの概要

1 番目のデプロイメント アーキテクチャは、リソース占有の問題により、現在最も使用されていると個人的に感じています。データ量が大きい場合、Filebeat は圧力に敏感なプロトコルを使用して Logstash または Elasticsearch にデータを送信するため、他の要件がない限り、デプロイメント アーキテクチャにメッセージ キューを導入する必要はありません。 Logstash がデータの処理でビジー状態の場合、Filebeat に読み取り速度を下げるように指示します。輻輳が解決されると、Filebeat は元の速度に戻り、データの送信を続けます。

コミュニケーションと学習グループをお勧めします: 478030634。上級アーキテクトが記録したいくつかのビデオを共有します: Spring、MyBatis、Netty ソース コード分析、高同時実行性、高性能、分散型、マイクロサービス アーキテクチャ、JVM パフォーマンスの最適化などの原則。建築家に必要な知識体系。無料の学習リソースを受け取ることもでき、これまでに多くのメリットがあります:

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ 3. 問題と解決策

質問: ログの複数行マージ機能を実装するにはどうすればよいですか?

システム アプリケーションのログは通常、特定の形式で出力されます。そのため、ELK を使用してログを収集する場合は、同じログに属する複数行のデータを結合する必要があります。

解決策: Filebeat または Logstash で複数行の複数行マージ プラグインを使用して、次のことを実現します。

複数行の複数行マージ プラグインを使用する場合は、ELK デプロイメント アーキテクチャが異なる場合があるという事実に注意する必要があります。これがこの記事の場合、最初のデプロイメント アーキテクチャの場合は、マルチラインを構成して Logstash で使用する必要があります。2 番目のデプロイメント アーキテクチャの場合、マルチラインを構成して Filebeat で使用する必要があります。 Logstash で複数行を構成する必要があります。

1. Filebeat で複数行を設定する方法:

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

  • パターン: 正規表現

  • negate: デフォルトは false で、パターンに一致する行は前の行にマージされます。 true は、パターンに一致しない行が前の行にマージされることを意味します

  • match: 平均が前の行の最後にマージされた後、平均が前の行の先頭にマージされる前

例:

pattern: '['
negate: true
match: after

この設定は、パターン pattern に一致しない行を前の行の末尾にマージすることを意味します

2. Logstash で複数行を設定する方法

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

(1) Logstash で設定されている属性の値は前であり、Filebeat での after に相当し、Logstash で設定されている属性の値は次であり、Filebeat での before に相当します。
(2) pattern => "%{LOGLEVEL}s*]" "%{LOGLEVEL}s*]" の LOGLEVEL は、Logstash の事前に作成された規則的なマッチング パターンです。詳しくは、以下を参照してください。参照してください: https://github.com /logstash-p...

質問: Kibana に表示されるログの時間フィールドをログ情報の時間に置き換えるにはどうすればよいですか?

デフォルトでは、Kibana で表示される時刻フィールドはログ情報の時刻と一致しません。デフォルトの時刻フィールドの値はログが収集された時点の時刻であるため、このフィールドの時刻を現在の時刻に置き換える必要があります。ログ情報の時刻。

解決策: grok 単語セグメンテーション プラグインと日時書式設定プラグインを使用して、次のことを実現します

Logstash 構成ファイルのフィルターで grok 単語セグメンテーション プラグインと日時書式設定プラグインを次のように構成します。

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

照合するログ形式が「DEBUG[DefaultBeanDefinitionDocumentReader:106] Bean 定義のロード中」の場合、ログの時間フィールドを解析する方法は次のとおりです:

① 記述された式ファイルを導入することで、たとえば、式ファイルは customer_patterns で、内容は次のとおりです:

CUSTOMER_TIME %{YEAR}%{MONTHNUM}%{MONTHDAY}s+%{TIME}
注: 内容の形式は次のとおりです: [カスタム式名] [正規表現]
Then logstash では次のように引用できます:

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

② 設定項目の形式では、ルールは次のようになります: (?正規一致ルール)、例:

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

質問: Kibana に渡す方法データを表示するためにさまざまなシステム ログ モジュールを選択します

一般に、Kibana に表示されるログ データはさまざまなシステム モジュールからのデータが混合されているため、ログ データのみを表示するために選択またはフィルターする方法指定されたシステムモジュールの?

解決策: さまざまなシステム モジュールを識別する新しいフィールドを追加するか、さまざまなシステム モジュールに基づいて ES インデックスを構築します

1。さまざまなシステム モジュールを識別する新しいフィールドを追加すると、Kibana で結果をフィルタリングしてクエリできます。このフィールドに基づくさまざまなモジュールのデータ

ここでの説明には、2 番目のデプロイメント アーキテクチャが使用されます。 Filebeat の構成内容は次のとおりです。システム モジュール設定 ES インデックスを作成し、Kibana で対応するインデックス パターン マッチングを作成します。ページ上のインデックス パターン ドロップダウン ボックスから、さまざまなシステム モジュール データを選択できます。
ここでは 2 番目のデプロイメント アーキテクチャについて説明します。これは 2 つのステップに分かれています:

① Filebeat の構成コンテンツは次のとおりです:

分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャ

document_type を通じてさまざまなシステム モジュールを識別します


② Logstash の出力構成コンテンツを次のように変更します:
出力にインデックス属性を追加します。%{type} は、さまざまな document_type 値に従って ES インデックスを構築することを意味します

IV. 概要

この記事では主に、ELK リアルタイム ログ分析の 3 つのデプロイメント アーキテクチャと、さまざまなアーキテクチャが解決できる問題について紹介します。これらの 3 つのアーキテクチャのうち 2 番目のデプロイメント方法は、現在最も一般的で一般的に使用されています。最後に、ログ分析における ELK の問題と解決策をいくつか紹介します。最後に、ELK は分散ログ データの集中クエリと管理に使用できるだけでなく、プロジェクト アプリケーションやサーバー リソースの監視、その他のシナリオにも使用できます。 。

以上が分散型リアルタイム ログ分析ソリューション ELK 導入アーキテクチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11 で中国語言語パックをインストールできない場合の解決策 Win11 で中国語言語パックをインストールできない場合の解決策 Mar 09, 2024 am 09:15 AM

Win11 は Microsoft が発売した最新のオペレーティング システムで、以前のバージョンと比較してインターフェイスのデザインとユーザー エクスペリエンスが大幅に向上しています。ただし、一部のユーザーは、Win11 をインストールした後、中国語の言語パックをインストールできないという問題が発生し、システムで中国語を使用する際に問題が発生したと報告しました。この記事では、ユーザーが中国語をスムーズに使用できるように、Win11 で中国語言語パックをインストールできない問題の解決策をいくつか紹介します。まず、中国語言語パックをインストールできない理由を理解する必要があります。一般的に言えば、Win11

Oracleの文字セット変更による文字化け問題を解決する効果的な解決策 Oracleの文字セット変更による文字化け問題を解決する効果的な解決策 Mar 03, 2024 am 09:57 AM

タイトル: Oracle のキャラクタセット変更による文字化け問題を解決する有効な解決策 Oracle データベースでは、キャラクタセットを変更すると、データ内に互換性のない文字が存在することにより文字化けの問題が発生することがよくあります。この問題を解決するには、いくつかの効果的な解決策を採用する必要があります。この記事では、Oracleの文字セット変更による文字化けの問題を解決する具体的な解決策とコード例を紹介します。 1. データをエクスポートして文字セットをリセットする まず、expdp コマンドを使用してデータベース内のデータをエクスポートします。

Oracle NVL 機能の一般的な問題と解決策 Oracle NVL 機能の一般的な問題と解決策 Mar 10, 2024 am 08:42 AM

OracleNVL 機能の一般的な問題と解決策 Oracle データベースは広く使用されているリレーショナル データベース システムであり、データ処理中に NULL 値を処理する必要があることがよくあります。 NULL 値によって引き起こされる問題に対処するために、Oracle は NULL 値を処理する NVL 関数を提供します。この記事では、NVL 関数の一般的な問題と解決策を紹介し、具体的なコード例を示します。質問 1: NVL 関数の不適切な使用法 NVL 関数の基本構文は、NVL(expr1,default_value) です。

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 Jun 03, 2024 pm 01:25 PM

C++ の機械学習アルゴリズムが直面する一般的な課題には、メモリ管理、マルチスレッド、パフォーマンスの最適化、保守性などがあります。解決策には、スマート ポインター、最新のスレッド ライブラリ、SIMD 命令、サードパーティ ライブラリの使用、コーディング スタイル ガイドラインの遵守、自動化ツールの使用が含まれます。実践的な事例では、Eigen ライブラリを使用して線形回帰アルゴリズムを実装し、メモリを効果的に管理し、高性能の行列演算を使用する方法を示します。

MySQL インストールにおける中国語の文字化けの一般的な原因と解決策 MySQL インストールにおける中国語の文字化けの一般的な原因と解決策 Mar 02, 2024 am 09:00 AM

MySQL インストール時に中国語が文字化けする一般的な原因と解決策 MySQL は一般的に使用されるリレーショナル データベース管理システムですが、使用中に中国語の文字化けの問題が発生し、開発者やシステム管理者を悩ませることがあります。中国語の文字化けの問題は、主に文字セットの設定が間違っていることや、データベースサーバーとクライアントの間で文字セットが一致していないことが原因で発生します。この記事では、MySQL インストールにおける中国語の文字化けの一般的な原因と解決策を詳しく紹介し、誰もがこの問題をよりよく解決できるようにします。 1. よくある理由: 文字セットの設定

Java フレームワークのセキュリティ脆弱性の分析と解決策 Java フレームワークのセキュリティ脆弱性の分析と解決策 Jun 04, 2024 pm 06:34 PM

Java フレームワークのセキュリティ脆弱性を分析すると、XSS、SQL インジェクション、SSRF が一般的な脆弱性であることがわかりました。解決策には、セキュリティ フレームワークのバージョンの使用、入力検証、出力エンコーディング、SQL インジェクションの防止、CSRF 保護の使用、不要な機能の無効化、セキュリティ ヘッダーの設定が含まれます。実際のケースでは、ApacheStruts2OGNL インジェクションの脆弱性は、フレームワークのバージョンを更新し、OGNL 式チェック ツールを使用することで解決できます。

Black Shark 携帯電話が充電中に自動的にシャットダウンしてオンになる理由の分析と解決策 Black Shark 携帯電話が充電中に自動的にシャットダウンしてオンになる理由の分析と解決策 Mar 24, 2024 pm 02:09 PM

Black Shark携帯電話は、若者を中心に人気のゲーミングフォンであり、優れた性能とユニークなデザインで多くのプレイヤーに支持されています。しかし、日常的な使用において、一部のユーザーは、Black Shark 携帯電話が充電中に自動的にシャットダウンしたり、充電器に接続した後に起動できなかったりして、ユーザーに迷惑をかけたと報告しました。この記事では、Black Shark 携帯電話の自動シャットダウンと起動の問題について、原因分析と、ユーザーがこの問題をより適切に解決できるようにするための解決策の側面から説明します。 1. 充電器の品質問題の原因分析: 低品質の充電器は電圧が不安定になる可能性があります。

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 Mar 13, 2024 pm 06:24 PM

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

See all articles