1 --- ELFKログ・プラットフォーム・アーキテクチャ設計をはじめ

1 --- ELFKログ・プラットフォーム・アーキテクチャ設計をはじめ

ELFKログエントリプラットフォーム2 --- Elasticseachクラスタのセットアップ   

3 --- Kibanaを構築するためのELFKログエントリプラットフォーム

ELFKログエントリプラットフォーム4 ---カフカクラスタのセットアップ

エントリー-5 --- Logstash + Filebeatクラスタセットアップ用ELFKログプラットフォーム

 1. ELKは何ですか  

        ログ、任意のシステムのために、重要な部分です。コンピュータシステムの内部には、なおさら。現在のコンピュータシステムのほとんどは、より複雑であるため、しかし、多くのシステムは、一つの場所でも、すべてのクロスボーダーではありません。代わりにしてもシステム、などのオペレーティングシステム、アプリケーション・サービス、ビジネス・ロジック、などのソース、さまざまながあります。彼らは常に、ログデータを幅広く生産しています。不完全な統計によると、世界は我々は2EB日についてのデータを生成します。1EB = 1024PB 1PB = 1024TB

        このようなデータの膨大な量に直面し、我々はいくつかの重要な情報を見つけるために必要がある場合は、まだ単一のマシンにViewにログインするために、伝統的な方法を使用している、さまざまな場所に分散していますか?従来のツールおよび方法は、不器用な、非効率的だったようです。だから、集中管理方式の提案設立に関するいくつかのスマートな人々、1中心的な場所にさまざまなソースからのデータ。

        完全集中型のロギングシステムは、次の主要な機能と不可分です。

  • コレクション - ログデータは、複数のソースから収集することができます
  • 送信 - 安定中央システムにログデータを送信することができます。
  • ログデータを保存する方法 - ストレージ
  • 分析 - 分析では、UIをサポートしています
  • 警告 - メカニズムを監視し、エラー報告を提供することができます

      私たちの問題を解決するためのオープンソースのリアルタイムログ解析ELK完璧なプラットフォームはElasticSearch、LogstashとKibana 3つのオープンソース・ツールによってELK、前述しました。

      Elasticsearchは:検索エンジン分散オープンソースであり、その特徴は次のとおり、このような自動負荷探索などの分散、ゼロコンフィギュレーション、自動検出、自動スライスインデックス、インデックス複製機構、安らかスタイルインターフェイス、複数のデータソース、。

      Logstash:完全にオープンソースのツールである、彼は、収集し、あなたのログを分析し、後で使用するためにそれを保存することができます。

      Kibana:オープンソースとフリーツールで、Kibanaは、フレンドリーWebインタフェースを分析することができますし、Logstash ElasticSearchはヘルプ要約すると提供ログインし、分析し、重要なデータのログを検索します。

      ELKは本当にソフトウェアの一部ではなく、ソリューションのセットは、3つのソフトウェア製品、Elasticsearch、LogstashとKibanaの略語の最初の文字です。すべての3つのソフトウェアは、通常と組み合わせて使用​​し、オープンソースソフトウェアであり、またそれはELKプロトコルスタックと呼ばれ、Elastic.co会社名を起因しています。

      公式サイト:https://www.elastic.co/cn/  、中国のドキュメント:https://elkguide.elasticsearch.cn/

      ダウンロードは、各コンポーネントの古いバージョンをELK:https://www.elastic.co/downloads/past-releases

     Logstashは、すべてのサービス上で展開コレクトログに、LogstashコレクションAppServerには、ログがフルテキスト検索サービスElasticSearchに一緒に収集され、ESクラスタからKibanaクエリデータはグラフを生成し、クライアントのブラウザに返され、ログを生成する必要があります。

   2、全体的なアーキテクチャの設計

     ELKはここで伝統的なアーキテクチャ(以下の例のための3つのノードクラスタで開始)です。

     伝統的にELKアーキテクチャは、アーキテクチャの変革と最適化の一部を行います。次のように変換した後、全体的な構造は以下の通りであります: 

    図のアーキテクチャは、従来のELK(elasticsearch + logstash + kibana)において、二つの成分(Filebeat +カフカ)の増加は、従来のELKに問題がある、上に見ることができます。

    質問1: Logstash直接致命的な欠陥をログに記録収集した場合には、近年のその性能はそれほど向上しているものの、その性能と資源消費、低収集効率のログ、(デフォルトのヒープサイズは1ギガバイトである)であり、交換は、多くのに比べて、まだ遅いです。ありLogstashとFilebeatの性能比較がそれは問題になる可能性があり、大量のデータの場合です。

   Filebeat:軽量ログ転送ツールはログLogstashの中央にプッシュすることができますようFilebeat:家族のようビートは、Filebeatはその欠点Logstashを補うために正があり、軽量のログ転送ツールです。バージョン5.xでは、(Logstashフィルタとして)Elasticsearch能力が解析-取り込みを。データは直接Filebeatを使用することができることを、この手段はElasticsearchを押して、両方の何かをすることを決議し、彼らは店のことを行うElasticsearchをしましょう。FilebeatとLogstashが最後の読み込みオフセットとして記憶していますので、バッファを使用する必要はありません。

   質問2: Logstashは現在、任意の直接プッシュElasticsearchを行わずにキャッシュバッファのログ収集をサポートしていない、ダウンタイムElasticsearch可能、現在の典型的な代替のリスクはRedisのかに短期的または大きなログログエンドサージとき中央のプールとしてカフカ。

    カフカが住んでいた:カフカが住んでいた、もともとLinkedInの社によって開発された、分散型、サポートパーティション(パーティション)、複数のコピー(複製)で、協調分散型のメッセージベースのシステムを飼育係、その最大の特徴は、リアルタイムで大量のデータを処理する能力であります2010年には、LinkedInのをScalaの言語で書かれたなどの例のHadoopのバッチベースのシステム、低遅延リアルタイムシステム、嵐/スパークストリーミングエンジン、ウェブ/ nginxのログ、アクセスログ、メッセージングサービス、のために:シーンの多様なニーズを満たすためにアパッチ財団への寄付で、トップオープンソースプロジェクトになります。

   質問3:どのように効果的な回収容器のログ?本発明の方法は有効である:1、ログ・ホスト上でハングアップする; 2、Logpilotログ収集容器回収ミドルウェア

    Logpilot:ログパイロットアリコンテナのログ収集プログラムのオープンソースは、ログ収集ミラーを提供します。ログ・パイロットは、あなたがマシン上のすべてのドッカーアプリケーションログを収集することができ、各マシン上のインスタンスを配置することができます。

    次に、どのように、あなたはRedisのとカフカの間で選んだのですか?

  • メッセージの信頼性をプッシュ:

    高いリアルタイムのメッセージプッシュに使用RedisのPushメッセージ(分散パブリッシュ/サブスクライブ)は、信頼性を保証するものではありません。データ、およびメッセージとして使用するのRedis-リストをクリアしますのRedis、パブ/サブ停電、永続的なプッシュがありますが、失われていない、完全に信頼できるものではありません。

    カフカはそこにいくつかの遅延がありますが、その信頼性を確保するためにけれども。

  • グループ化するサブスクリプション:

    Redisのは、その外の別のトピックへの追加をサブスクライブパブリッシュ、グループ化をサポートしていません。

    カフカがコンテンツを公開し、複数の加入者をグループ化することができ、一つだけの加入者は、負荷分散として使用することができますグループ、同じメッセージが表示されます。

  • クラスタリソースの消費量:

    3.0後Redisのクラスタ機構を提供有するHAが、マスターノードから1つのまたは複数のスレーブノードに対して、各ノード用に構成上位ノードからデータをプルされ、マスタノード吊りは、ノードがマスタノードとなるからアップ置き換えるが、この資源の無駄を比較してください。

    意志カフカは、メッセージキューとして、十分なリソースを使用することができ、クラスタは、トピックへの各アプリケーションの対応は、トピックは、パーティションを複数有していてもよく、及び隔壁は、前記各ノードのポーリングに割り当てることができ、生産者は、均一なデータを生成しますパーティションに、上部のみつのアプリケーションカフカクラスタリソースがデータスキューRedisのクラスタの完全な、このような問題を回避するために利用される場合でも発生、およびブローカハングのカフカHDFSと同様の冗長メカニズムがありますこれは、クラスタ全体の動作に影響を与えません。

  • スループット:

     カフカにより断片化、スパースインデックス機構に、カフカは億のスループットに耐えることができます。

     上記の考察に基づき、データバッファとしてカフカの選択。

   次のように建築した後、設計、プロセス全体のログプラットフォームは以下のとおりです。

  1. サーバへのログデータが収集されカフカに送信Filebeatの展開ログ、Filebeatを収集されます。
  2. カフカは、取得したログ情報が記憶され、入力(入力)Logstashに送信されます。
  3. カフカLogstash入力としてデータ、および濾過などカフカ他の動作中のデータ、及びその後Elasticsearchへの入力(出力)で得られたデータ。
  4. Elasticsearch Logstash表示kibanaの入力としてデータを処理し、送信されたデータ。

   次のセクションでは、建物全体のプロセスをご紹介かかります。

公開された41元の記事 ウォン称賛47 ビュー30000 +

おすすめ

転載: blog.csdn.net/u014526891/article/details/102837814