【徹底解説】 GrafanaをElasticsearchに統合する方法
目次
1.はじめに
1.1 Grafana
1.2 Elasticsearch
1.3 GrafanaとElasticsearchの融合
2.セットアップ
3.まとめ
1.はじめに
1.1 Grafana
Grafanaは非常に用途の広い視覚化(グラフ化)ツールです。 さまざまなデータソースからデータを読み取り、グラフ、ゲージ、世界地図、ヒートマップなど、さまざまな視覚化オプションでプロットできます。 MetricFireの無料トライアルでいつでもお試しください。
1.2 Elasticsearch
Elasticsearchは、データを分析および検索するためのオープンソースの分散データストアです。 Elasticsearchは、JSONベースのドキュメント構造を使用して、データを格納およびインデックス付けします。 これにより、Inverted Indexと呼ばれるデータ構造を使用して、格納されたデータの非常に高速な検索を可能にします。 多くの企業がElasticsearchを使用して、データベース全体の検索を強化しています。
1.3 GrafanaとElasticsearch融合
Elasticsearchはイベントデータとメトリクスを格納するため、それをGrafanaで視覚化するということに関して言えばElasticsearchとGrafanaの相性は抜群です。
この記事では、GrafanaとElasticsearchインスタンスを統合するプロセスを段階的に説明し、いくつかのクエリを実行していく過程をお見せします。
2.セットアップ
以下の公式のDockerイメージを使用して、GrafanaとElasticsearchのテスト環境をセットアップしていきます。
https://hub.docker.com/r/grafana/grafana/
https://hub.docker.com/_/elasticsearch
Grafanaは視覚化に最適なツールですが、Elasticsearchには、すぐにブラウザでデータを表示するためのツールは付属していないため、Grafanaを使用してElasticsearchにあるデータを視覚化するには、追加のツールが必要になります。 RESTベースのインターフェースを使用してデータと繋げることが必要となりますので、最初のステップはElasticsearchのWeb UIを取得することです。
ElasticsearchでWebインターフェースを取得するには、Dejavuと呼ばれるオープンソースのElasticsearch UIを使用します。 そのDockerイメージは次の場所にあります。
https://hub.docker.com/r/appbaseio/dejavu/
以下の写真は、Grafana、Elasticsearch、Dejavuを起動する非常にシンプルなdocker-composeファイルです。
docker-compose up -dを使用してこのdocker-composeファイルを実行した後、http:// localhost:9200にアクセスして、Elasticsearchが稼働していることを確認します。 出力は次のようになります。
また、http:// localhost:3000にアクセスして、Grafanaが稼働していることを確認します。 デフォルトの資格情報はadmin/adminです。
http:// localhost:1358にアクセスすると、Dejavuのインターフェースが表示されます。
次に、サンプルデータをElasticsearchにインポートします。 Elasticsearchの公式サイトの手順に従って、logs.jsonデータをElasticsearchに読み込みます。
具体的には、次のコマンドを実行します。
-
エラスティックサーバーからlogs.jsonlファイルをダウンロードします。
curl -O https://download.elastic.co/demos/kibana/gettingstarted/7.x/logs.jsonl.gz
-
ファイルを開きます。
gunzip logs.jsonl.gz
-
最後に、Elasticsearchインスタンスにアップロードします。
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/_bulk?pretty' --data-binary @logs.jsonl
Dejavu UIをhttp://127.0.0.1:1358およびlogstash-2015.05.18インデックスに接続することにより、データのロードを確認できます。
さて、ここから楽しい部分です。 ElasticsearchデータソースをGrafanaに接続し、その上にビジュアライゼーションを作成していきます。
まずは、http:// localhost:3000でGrafanaにアクセスし、Elasticsearchタイプのデータソースを追加します。
注:この記事で説明されているようにdockerを使用している場合、URLはhttp:// elasticsearch:9200になります。 これは、ブラウザーのフロントエンドではなく、バックエンド(アクセス:サーバー)からGrafanaにElasticsearchに接続させるためです。 Grafanaコンテナーの場合、Elasticsearchの場所はhttp:// elasticsearch:9200であり、予想どおりhttp://127.0.0.1:9200ではありません。
バージョンは7.0+であり、時間フィールド名を@timestampとして定義します。
次に、単純なGrafanaダッシュボードを作成して、シンプルなグラフを追加します。 これはかなり簡単です。 トリッキーな部分は、データソースの構成とクエリの提供です。
ログデータから平均マシンRAMを視覚化します。 クエリドロップダウンボックスで、データソースとしてElasticsearchを選択して、次に示すように、平均メトリックとしてmachine.ramを使用します。
視覚化を保存すると、右上のボックスでカスタムの時間範囲が選択されます。 これは、私たちの2015年5月のログデータが含まれているためです。この時間範囲に構成すると、次の視覚化が得られます。
同様に、Average Bytesの視覚化を追加すると、Grafanaダッシュボードは次のようになります。
3. まとめ
GrafanaがElasticsearchデータソースにシームレスに接続し、クエリを通じて優れた視覚化を提供することを確認しました。 今すぐMetricFireの無料トライアルに参加して、Elasticsearchデータの送信を開始してください。 また、さらに詳しく知りたいという方は、デモを予約して、最適な監視ソリューションについて直接お問い合わせください。
Author And Source
この問題について(【徹底解説】 GrafanaをElasticsearchに統合する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/MetricFire/items/1ebc30c9613e2fb7a22d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .