ELK スタック チュートリアル: Kibana とは Logstash &エラスティックサーチ?

ELK スタックとは何ですか?

この ELKスタック は、Elasticsearch という 3 つのオープンソース製品のコレクションです。 Logstash、そしてキバナ。 ELK スタックは、サーバーまたはアプリケーションの問題を特定するために集中ログを提供します。すべてのログを 1 か所で検索できます。また、特定の期間のログを接続することで、複数のサーバーの問題を発見するのにも役立ちます。

  • E ElasticSearch の略: ログの保存に使用されます
  • L LogStashの略。ログの配送と処理および保管の両方に使用されます。
  • K キバナの略です。 可視化ツール (Web インターフェイス) Nginx または Apache を通じてホストされます

ElasticSearch、LogStash、Kibana はすべて Elastic という会社によって開発、管理、保守されています。

ELK スタックは、ユーザーがあらゆるソースからあらゆる形式でデータを取得し、そのデータをリアルタイムで検索、分析、視覚化できるように設計されています。

ELKスタック Archi構造

この ELK スタック チュートリアルでは、ELK アーキテクチャについて学習します。

ELKスタックのシンプルなアーキテクチャは次のとおりです。

ELKスタック Archi構造
ELKスタック Archi構造
  • ログ: 分析が必要なサーバーログを特定する
  • Logstash: ログとイベント データを収集します。 データの解析と変換も行います
  • 弾性検索: 変換されたデータは、 Logstash is 保存、検索、インデックス付け。
  • キバナ: Kibana は Elasticsearch DB を使用して探索、視覚化、共有します

ただし、もう XNUMX つコンポーネントまたは Beats と呼ばれるデータ収集が必要です。 これにより、Elastic は ELK の名前を Elastic Stack に変更しました。

ELKスタック ArchiBeats を使用した構造

非常に大量のデータを扱う場合、バッファリングと復元力のために Kafka や RabbitMQ が必要になることがあります。セキュリティのためには nginx を使用できます。

ELKスタック Archi構造

この Elastic スタック チュートリアルでは、 これらのオープンソース製品をすべて詳しく見てみましょう。

エラスティックサーチとは?

Elasticsearch は、 NoSQLデータベース。 Lucene 検索エンジンに基づいており、RESTful APIS で構築されています。 シンプルな導入、最大限の信頼性、容易な管理を実現します。 また、詳細分析を実行するための高度なクエリも提供し、すべてのデータを一元的に保存します。 文書の素早い検索を実行するのに役立ちます。

Elasticsearch を使用すると、大量のデータを保存、検索、分析することもできます。Elasticsearch は主に、検索要件を満たすアプリケーションを動かす基盤エンジンとして使用されます。最新の Web およびモバイル アプリケーションの検索エンジン プラットフォームに採用されています。このツールは、クイック検索以外にも、複雑な分析機能や多くの高度な機能も提供します。

エラスティック検索の特徴

  • オープンソースの検索サーバーは、 Java
  • あらゆる種類の異種データのインデックス作成に使用
  • JSON 出力を備えた REST API Web インターフェイスを備えています
  • 全文検索
  • 準リアルタイム (NRT) 検索
  • シャーディングされ複製された検索可能な JSON ドキュメント ストア
  • スキーマフリーの REST および JSON ベースの分散ドキュメント ストア
  • 多言語と地理位置情報のサポート

Elasticsearch の利点

  • スキーマのないデータを保存し、データのスキーマも作成します
  • マルチドキュメント API を利用してデータをレコードごとに操作します
  • データのフィルタリングとクエリを実行して洞察を得る
  • Apache Lucene をベースにしており、RESTful API を提供します
  • 水平方向のスケーラビリティ、信頼性、マルチテナント機能を提供し、インデックス作成をリアルタイムで使用して検索を高速化します。
  • 垂直方向と水平方向の拡大縮小に役立ちます

Elastic Search で使用される重要な用語

この ELK チュートリアルでは、ElasticSearch で使用される重要な用語について学びましょう。

契約期間 使用法
Cluster クラスターは、データを保持し、結合されたインデックス作成および検索機能を提供するノードの集合です。
Node ノードは elasticsearch インスタンスです。 これは、elasticsearch インスタンスの開始時に作成されます。
目次 インデックスは、類似した特性を持つドキュメントのコレクションです。たとえば、顧客データ、製品カタログなどです。インデックス作成、検索、更新、削除の操作を実行するときに非常に便利です。1 つのクラスターに任意の数のインデックスを定義できます。
ドキュメント これは、インデックスを作成できる情報の基本単位です。 JSON(キー:値)のペアで表現されます。 '{"ユーザー": "nullcon"}'。 すべての単一ドキュメントは、タイプと一意の ID に関連付けられます。
シャード すべてのインデックスは、データを分散できるように複数のシャードに分割できます。シャードはインデックスのアトミック部分であり、ノードを追加する場合はクラスター全体に分散できます。

何ですか Logstash?

Logstash データ収集パイプライン ツールです。データ入力を収集し、Elasticsearch にフィードします。さまざまなソースからあらゆる種類のデータを収集し、さらに使用できるようにします。

Logstash 異なるソースからのデータを統合し、データを目的の宛先に正規化できます。これにより、分析とユースケースの視覚化のためにすべてのデータをクレンジングおよび民主化できます。

これは XNUMX つのコンポーネントで構成されます。

  • 入力: ログを渡して機械が理解できる形式に処理します。
  • フィルタ: 特定のアクションまたはイベントを実行するための一連の条件です。
  • 出力: 処理されたイベントまたはログの意思決定者

の特長 Logstash

この LogStash チュートリアルでは、LogStash の機能について学びましょう。

  • イベントは内部キューを使用して各フェーズを通過します
  • ログにさまざまな入力を許可します
  • ログのフィルタリング/解析

の利点 Logstash

  • データ処理を一元化するオファー
  • 多種多様な構造化/非構造化データとイベントを分析します
  • ELK LogStashは、さまざまな種類の入力ソースやプラットフォームに接続するためのプラグインを提供します。

キバナとは何ですか?

Kibana は、ELK スタックを完成させるデータ視覚化ツールです。このツールは Elasticsearch ドキュメントを視覚化するために使用され、開発者がドキュメントをすばやく把握するのに役立ちます。Kibana ダッシュボードは、複雑なクエリを視覚化するためのさまざまなインタラクティブな図、地理空間データ、グラフを提供します。

Elasticsearch ディレクトリに保存されているデータの検索、表示、操作に使用できます。 Kibana は高度なパフォーマンスをサポートします データ分析 データをさまざまな表、グラフ、地図で視覚化します。

Kibana では、データの検索を実行するためのさまざまな方法があります。

最も一般的な検索タイプは次のとおりです。

検索の種類 使用法
フリーテキスト検索 特定の文字列を検索するために使用されます
フィールドレベルの検索 特定のフィールド内の文字列を検索するために使用されます
論理的なステートメント これは、検索を論理ステートメントに結合するために使用されます。
近接検索 特定の文字の近接範囲内の用語を検索するために使用されます。

この Kibana チュートリアルでは、Kibana の重要な機能について学びましょう。

金花の特徴:

  • エラスティッククラスターからのインデックス情報を視覚化できる強力なフロントエンドダッシュボード
  • インデックス付き情報のリアルタイム検索が可能
  • Elasticsearch に保存されているデータを検索、表示、操作できます。
  • データに対してクエリを実行し、結果をグラフ、表、地図で視覚化します。
  • Elasticsearch の Logstash ログを細分化するための設定可能なダッシュボード
  • 過去のデータをグラフやチャートなどの形式で提供できます。
  • 簡単に設定可能なリアルタイム ダッシュボード
  • Kibana ElasticSearch により、インデックス付けされた情報のリアルタイム検索が可能になります

金花のメリットとデメリット

  • 簡単な視覚化
  • Elasticsearchと完全に統合
  • 視覚化ツール
  • リアルタイム分析、チャート作成、要約、デバッグ機能を提供します
  • 直感的でユーザーフレンドリーなインターフェイスを提供
  • 検索されたログのスナップショットの共有を許可します。
  • ダッシュボードの保存と複数のダッシュボードの管理を許可します

なぜログ分析を行うのか?

クラウドベースの環境インフラストラクチャでは、パフォーマンスと分離が非常に重要です。 クラウド内の仮想マシンのパフォーマンスは、特定の負荷、環境、システム内のアクティブ ユーザーの数によって異なる場合があります。 したがって、信頼性とノード障害が重大な問題になる可能性があります。

ログ管理プラットフォーム 上記のすべての問題を監視するだけでなく、オペレーティングシステムのログ、NGINX、Webトラフィック分析用のIISサーバーログ、アプリケーションログ、AWS上のログも監視できます(Amazon Webサービス).

ログ管理は、DevOps エンジニアやシステム管理者がより適切なビジネス上の意思決定を行うのに役立ちます。 したがって、Elastic Stack または同様のツールによるログ分析が重要です。

ELK 対 Splunk

エルク Splunk
Elk はオープンソース ツールです Splunk は商用ツールです。
Elk スタックは提供しません Solaris Kibana による移植性。 Splunk のオファー Solaris 移植性。
処理速度は厳しく制限されています。 正確かつスピーディな処理を実現します。
ELK は、Elastic Search の組み合わせで作成されたテクノロジー スタックです。Logstash-キバナ。 Splunk は独自のツールです。 オンプレミスとクラウドの両方のソリューションを提供します。
ELK 検索では、ELK スタックがセットアップされた後にのみ分析と視覚化が可能になります。 Splunk は、自由に使える完全なデータ管理パッケージです。
ELK ツールは他のツールとの統合をサポートしていません。 Splunk は、他のツールとの統合をセットアップするのに便利なツールです。

ケーススタディ

ネットフリックス

Netflix ELK スタックに大きく依存しています。同社は ELK スタックを使用して、顧客サービス業務のセキュリティ ログを監視および分析しています。これにより、約 800 個のノードで構成される XNUMX を超えるクラスターからのドキュメントのインデックス作成、保存、検索が可能になります。

LinkedIn

有名なソーシャル メディア マーケティング サイト LinkedIn は、パフォーマンスとセキュリティを監視するために ELK スタックを使用しています。IT チームは、負荷をリアルタイムでサポートするために ELK を Kafka と統合しました。同社の ELK 運用には、100 つの異なるデータ センターにわたる XNUMX を超えるクラスターが含まれます。

Tripwireの

Tripwire は、世界的なセキュリティ情報イベント管理システムです。 同社は ELK を使用して情報パケットのログ分析をサポートしています。

M

Medium は有名なブログ投稿プラットフォームです。彼らは ELK スタックを使用して運用上の問題をデバッグします。同社は検出にも ELK を使用しています。 DynamoDB 鍋。さらに、このスタックを使用することで、同社は毎週 25 万人のユニークな読者と数千の公開投稿をサポートできます。

ELKスタックの長所と短所

Advantages

  • ELK は、企業のさまざまなアプリからのログが単一の ELK インスタンスに集まる場合に最適に機能します。
  • この単一インスタンスについて驚くべき洞察が得られるほか、何百もの異なるログ データ ソースにログインする必要がなくなります。
  • 迅速なオンプレミスのインストール
  • 展開が簡単 垂直方向と水平方向にスケール可能
  • Elastic は、Ruby を含む多数の言語クライアントを提供しています。 Python. PHP、Perl、.NET、 Java, Javaスクリプトなど
  • さまざまなプログラミングおよびスクリプト言語のライブラリの利用可能性

デメリット

  • スタック内のさまざまなコンポーネントは、複雑なセットアップに移行すると扱いが難しくなることがあります。
  • 試行錯誤ほど素晴らしいものはありません。 したがって、やればやるほど、その過程でより多くのことを学ぶことができます

まとめ

  • 集中ログは、サーバーまたはアプリケーションの問題を特定する場合に役立ちます。
  • ELK サーバー スタックは、集中ログ システムに関連する問題の解決に役立ちます
  • ELK スタックは、3 つのオープンソース ツール Elasticsearch のコレクションです。 Logstash 木場
  • Elasticsearch は NoSQL データベースです
  • Logstash データ収集パイプラインツールです
  • Kibana は ELK スタックを完成させるデータ視覚化です
  • クラウドベースの環境インフラストラクチャでは、パフォーマンスと分離が非常に重要です
  • ELK スタックでは処理速度が厳しく制限されていますが、 Splunk 正確かつスピーディな処理を実現します
  • Netflix、LinkedIn、Tripware、Medium はすべて、ビジネスに ELK スタックを使用しています
  • ELK Syslog は、企業のさまざまなアプリからのログが単一の ELK インスタンスに集まる場合に最適に機能します。
  • スタック内のさまざまなコンポーネントは、複雑なセットアップに移行すると扱いが難しくなることがあります。

私たちを参照してください ElasticSearch のインタビューの質問と回答 新人だけでなく経験豊富な候補者も対象となります。