GrafanaからAmazon OpenSearch Serviceに接続して可視化する

2021.09.15

はじめに

こんにちは。大阪オフィスの林です。

GrafanaからAmazon OpenSearch Serviceに接続して、グラフ化などの可視化を検証する機会がありましたのでまとめておきたいと思います。

やってみた

Grafanaの準備

今回は永続的に利用する環境では無く、接続~可視化の検証目的のため、ローカルのDocker環境でGrafanaを起動させ、そのGrafanaからAmazon OpenSearch Service(旧Amazon Elasticsearch Service)に接続してデータを取得、可視化するところまでをやっていきたいと思います。それでは、下記に従ってDockerを起動します。

hayashi@HL00751:~$ docker run -d -p 3000:3000 grafana/grafana

Grafanaに接続

http://localhost:3000/にアクセスします。

今回使用したGrafana Dockerイメージの初期ID、初期パスワードは「admin」でしたので、入力してログインします。※イメージによって初期設定は異なる場合がありますので適宜確認してください。

初期パスワードの変更が促されますので必要に応じて、変更しておきます。

ログイン出来ました。

Amazon OpenSearch Serviceへの接続

左メニューの歯車マークから「Data sources」を選択します。

「Add data source」を選択します。

「Elasticsearch」の「Select」を選択します。

URLにAmazon OpenSearch ServiceのエンドポイントURLを入力します。

Amazon OpenSearch ServiceのエンドポイントURLはAmazon OpenSearch Serviceのダッシュボードから確認が出来ます。

Index name Time field name Versionに環境に応じた値を入力/選択します。今回の検証ではIndex nameawswaf*Time field nametimestampVersion7.10+を指定します。

画面を下部の「Save & test」を選択し、エラーとならないことを確認します。※エラーとなる場合、Amazon OpenSearch Serviceに接続できていないか、IndexやTimeStampのパラメータが誤っている可能性があります。

画面が遷移し、デフォルトでグラフ化された画面が表示されました。

ダッシュボードの整形

それでは、ダッシュボードを整形してイイ感じに可視化していきたいと思います。左メニューの「+」から「Dashboard」を選択します。

「Add an empty panel」を選択します。

Barグラフを作成してみます。

今回はAWS WAFのログを参照しています。AWS WAFのログに含まれるaction.keywordhttpRequest.clientIp.keywordあたりを可視化のデータとして指定しています。

上図の通り、デフォルトでは1つの値しか出てきませんでしたので、右のメニューから「All values」を選択し、複数の情報を表示します。

右上「Apply」を選択します。

ダッシュボードにグラフが追加されました。

必要に応じて「Add panel」を選択し、グラフを追加していきます。

今回は4つほどグラフを追加してみました。

ダッシュボードを保存する場合は右上のメニューからSaveをしておきます。

まとめ

今回は単純な可視化するところまでの検証でした。Grafanaにはまだまだ触れていない機能も沢山あるので、時間があれば触ってみたいと思います。

以上、大阪オフィスの林がお送りしました!