初心者のためのELKスタックチュートリアル:あなたが知りたいことすべて
公開: 2020-03-24目次
序章
今日の世界はデータ駆動型です。つまり、小規模な新興企業であろうと大企業であろうと、大量のデータが生成されます。 ビジネスデータ、販売データ、顧客データ、および製品データ。これらのデータの多くは、データベースおよびWebサーバーに保存されます。 Webサーバー内では、Webサーバーのログでデータを見つけることができます。 これらのログには、構造化されていない生データが含まれているため、理解が難しい場合があります。
これらのログは通常、大企業では無視されているため、ビジネスの強化に役立つ貴重な情報を見失う可能性があります。 したがって、このすべてのログデータを処理することが重要です。 ただし、ログ分析は、適切なツールがないと面倒な場合があります。
これがELKスタックの出番です。
学習: SplunkとElk:どちらを選択する必要がありますか?
ELKスタックとは何ですか?
ELK Stackは、 Elasticsearch、Logstash、Kibanaの3つのツールを組み合わせた強力なログ分析ツールです。 これらは3つのオープンソースプロジェクトですが、一緒になって、ログの検索、視覚化、分析のためのエンドツーエンドの分析ソリューションを提供します。 これらのログは、異なるシステムから生成される場合があります。
このソフトウェアスタックは、任意のソースと形式からデータを取得するのに役立ちます。 次に、このデータの検索、分析、および視覚化を実行して、パターンを決定することができます。 一元化されたロギングの助けを借りて、Webサーバーとアプリケーションの問題を特定できます。 これは、単一のプラットフォームからすべてのログを検索できることを意味します。 複数のサーバーの問題も検出できます。

ELKスタックチュートリアル:アーキテクチャ
ELKスタックアーキテクチャを詳しく見てみましょう。 コンポーネントは次のとおりです。
Elasticsearch
これはソフトウェアスタックの中心であり、基本的にはNoSQLデータベースです。 2010年にリリースされ、 ApacheLucene検索エンジンに基づいています。 Javaでコーディングされたこのツールは、オープンソースです。 この強力な分析エンジンを使用すると、大量のログデータを保存、分析、検索できます。 Elasticsearchでの検索からデータを取得する最良の方法は、RESTAPIを利用することです。
その重要な機能のいくつかは次のとおりです。
- データを一元的に保存して、すばやく検索できるようにします
- より良いデータ分析のための高度なクエリを提供します
- これを使用して、異種データのインデックスを作成できます
- ほぼリアルタイムの検索を提供します。つまり、インデックスに登録された直後にドキュメントを見つけることができます。 そのため、リアルタイムでドキュメントを更新したり、ドキュメントにデータを追加したりできます。
- ジオロケーションサポートと多言語サポートを提供します
- 個々のレコードを処理するためにマルチドキュメントAPIを使用する
Elasticsearchの重要なコンポーネントのいくつかは次のとおりです。
- インデックス–同様の特性を持つドキュメントの論理パーティションです
- ノード–これはElasticsearchインスタンスです
- シャード–インデックスは水平のシャードまたはピースに分割できます
- ドキュメント–ストレージユニットであり、Elasticsearchインデックスに保存されているJSONオブジェクト
- クラスター–ノードのコレクション
読む:ビジネス上の意思決定を改善するための4種類のデータ分析
Logstash
これは、データ入力をフェッチしてElasticsearchに提供するツールです。 当初は、さまざまなデータソースから大量のデータを収集してストリーミングするために使用されていました。 その後、ELKスタックに含まれ、ログメッセージを処理して拡張し、宛先に送信しました。

Logstashは、収集したデータをさらに使用できるようにします。 また、さらに使用するためにデータをクリーンアップするのに役立ち、膨大な数のデータ型をサポートできます。 Logstashにはプラグインの巨大なエコシステムがあり、その機能を強化できます。 人気のあるプラグインには、Github、file、exec、heartbeat、http、iMacなどがあります。
これには3つの主要なコンポーネントがあります。
入力
これは、ログを処理のために渡すために使用され、マシンが理解できるようにします。 データベースやアプリケーションからデータを収集して処理するための50を超える入力プラグインがあります。
出力
これは、メッセージフィールドの入力データで構成されます。 これは、すでに処理されたログの意思決定者と見なされます。
フィルタ
これらは、アクションまたはイベントを実行するために使用される条件です。 イベントは内部キューを使用して処理されます。
キバナ
これは、ELKスタックでのデータの視覚化に使用されるツールです。 これを使用してElasticsearchインデックスを検索でき、ブラウザベースのシンプルなインターフェイスです。 これを使用して、大量のデータを探索できます。 グラフ、地理空間データ、図などの多くの機能を備えた広範なダッシュボードがあります。 Kibanaは、インデックスに含まれるElasticseachデータの検索、相互作用、および表示に使用できます。 データの視覚化の詳細をご覧ください。
Kibanaの重要な機能は次のとおりです。

- Windows、Mac、およびLinuxで実行
- インデックス付きデータのリアルタイムの視覚化を提供します
- これはNode.jsで実行され、インストールパッケージと一緒に必要なパッケージを取得します
- チャートやグラフを使って履歴情報を描くことができます
- 独自のグラフを作成して保存できます
Beats
ELKアーキテクチャのもう1つのコンポーネントはBeatsです。 これらは、メトリックとデータログをフェッチするためにサーバーにインストールされるログシッパーのセットです。 Goプログラミング言語でコーディングされており、軽量のツールです。 さまざまな種類のビートのいくつかは次のとおりです。
- Filebeat:ログファイルを収集します
- Packetbeat:ネットワークデータを収集します
- Metricbeat:サービスとシステムのメトリックを収集します
- Winlogbeat: Windowsイベントログファイルを収集するために使用されます
ELKスタックチュートリアル:インストール
これで、 ELKスタックチュートリアルの最後のセクションに到達しました。 ELKスタックのインストールに必要な手順を見てみましょう。
- ELKスタックの公式ウェブサイトにアクセスしてください– https://www.elastic.co/downloads
- クリックしてElasticsearchをダウンロードします
- 次に、クリックしてLogstashをダウンロードします
- その後、Kibanaをダウンロードします
- 3つのzipフォルダーが作成されます。 それらを解凍し、公式Webサイトの指示に従って個別にダウンロードします。
結論
ELKスタックは、Netflix、Medium、LinkedInなど、世界中の有名な企業がログデータを処理するために使用しています。 これは、さまざまなアプリケーションからデータを収集し、それを単一のインスタンスに収束するときにツールがうまく機能するためです。 また、垂直および水平のスケーリングにも非常に役立ちます。 さらに、Python、Java、Perl、Rubyなどの複数の言語をサポートしています。
したがって、ログデータの処理に苦労しているビジネスオーナーの場合は、ELKがソリューションです。 基本を理解するために、このELKStackチュートリアルを手元に置いてください。
ビッグデータについて詳しく知りたい場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のPGディプロマをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトと課題、IIIT-を提供します。 B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との雇用支援。