このトピックでは、Grafanaを使用してSimple Log ServiceのElasticsearch互換APIにアクセスする方法について説明します。
Alibaba Cloudは、このトピックの情報に対する独自の権利を有します。 このトピックでは、Alibaba Cloudがサードパーティサービスとやり取りする機能について説明します。 サードパーティの会社やサービスの名前を参照することができます。
前提条件
Elasticsearchは、Grafana 8.x、Grafana 9.x、Grafana 10.x、およびGrafana 11.xへの接続をサポートしています。 このトピックでは、Grafana 11.4.0が使用されます。
プロジェクトと標準ログストアが作成され、ログが収集されます。 詳細については、参照プロジェクトの作成,ログストアの作成、およびデータ収集の概要.
インデックスはログを照会する前に作成されます。 詳細については、「インデックスの作成」をご参照ください。
RAMユーザー用にAccessKeyペアが作成され、Logstoreのログを照会するために必要な権限がRAMユーザーに付与されます。 詳細については、参照RAMユーザーに権限を付与する.
背景情報
Grafanaは、Graphite、InfluxDB、Prometheus、Elasticsearchなどの複数のデータソースをサポートするオープンソースのデータ視覚化および監視プラットフォームです。 Grafanaを使用すると、複数のチャートとクエリデータを設定できます。
Grafanaを使用してElasticsearchデータを分析し、ElasticsearchデータをSimple Log Serviceに移行する場合は、Simple Log ServiceのElasticsearch互換APIを使用できます。 次に、GrafanaのElasticsearchデータソースプラグインを使用して、データのクエリと分析のためにSimple Log Serviceにアクセスできます。
Simple Log Serviceは、ネイティブのGrafanaデータソースプラグインも提供します。 詳細については、「Simple Log ServiceからGrafanaへの接続」をご参照ください。 次の表は、GrafanaのElasticsearchデータソースプラグインとSimple Log ServiceのネイティブGrafanaデータソースプラグインの違いを示しています。
項目 | GrafanaとElasticsearch互換API | GrafanaとSimple Log Serviceのネイティブプラグイン |
Grafanaデータソースプラグイン | Grafanaがデフォルトで提供するElasticsearchデータソースプラグイン | Simple Log Serviceによって提供され、手動インストールが必要なネイティブGrafanaデータソースプラグイン |
検索構文 | Elasticsearch DSL構文 | シンプルなLog Serviceインデックスベースの検索構文とSQL分析構文 |
データソースの追加
Grafanaコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[新しい接続の追加] ページで、Elasticsearchを検索し、[データソース] セクションの [Elasticsearch] をクリックします。
Elasticsearchの詳細ページの右上隅にある [新しいデータソースの追加] をクリックします。
[設定] タブでパラメーターを設定し、[保存とテスト] をクリックして接続をテストします。 Data source successfully connectedメッセージが表示された場合、設定は有効です。 エラーが発生した場合は、FAQとトラブルシューティングの手順に従ってエラーをトラブルシューティングできます。
次の表に、設定する必要があるパラメーターを示します。 他のパラメーターのデフォルト値を保持できます。
セクション
パラメーター
説明
接続
URL
データへのアクセスに使用されるURL。 URLは
https://${project}.$ {sls-endpoint} /es/形式です。${project}はプロジェクトの名前を指定します。${sls-endpoint}は、Simple Log Serviceプロジェクトのエンドポイントを指定します。 詳細については、参照エンドポイント. 例:https://etl-guangzhou.cn-guangzhou.log.aliyuncs.com/es/。重要HTTPSプロトコルを使用する必要があります。
認証方法
基本認証
ドロップダウンリストから [基本認証] を選択します。
ユーザー
Alibaba CloudアカウントのAccessKey ID。
Logstoreのログを照会する権限を持つResource Access Management (RAM) ユーザーのAccessKeyペアを使用することを推奨します。 権限アシスタント機能を使用して、RAMユーザーにクエリ権限を付与できます。 詳細については、「権限アシスタント機能の設定」をご参照ください。 AccessKeyペアを取得する方法の詳細については、参照AccessKeyペア.
Password
Alibaba CloudアカウントのAccessKeyシークレット。
Logstoreのログを照会する権限を持つRAMユーザーのAccessKeyペアを使用することを推奨します。 権限アシスタント機能を使用して、RAMユーザーにクエリ権限を付与できます。 詳細については、「権限アシスタント機能の設定」をご参照ください。 AccessKeyペアを取得する方法の詳細については、参照AccessKeyペア.
Elasticsearchの詳細
インデックス名
Elasticsearchインデックスパターンの名前。 名前は
${Simple Log Service Project name}.${Logstore name}形式である必要があります。 たとえば、プロジェクトの名前がetl-guangzhouで、Logstoreの名前がes_test22の場合、Index nameパラメーターをetl-guangzhou.es_test22に設定する必要があります。
サンプルチャートの設定
データソースを追加すると、GrafanaはSimple Log Serviceに保存されているデータにアクセスできます。 GrafanaのElasticsearchデータソースプラグインを使用して、Simple Log ServiceのElasticsearch互換APIに接続できます。 これにより、SQL文を記述することなく、グラフの視覚化を簡単に設定できます。 次の設定例では、NGINXアクセスログが使用されています。
全体的なQPSカーブのクエリ
[Lucene Query] フィールドで、Elasticsearch Lucene構文に基づいてフィルター条件を指定します。
HTTPステータスコードが200のカーブを照会する
Lucene Queryフィールドに、status: 200を入力します。
上位リクエストのURIの照会
[グループ別] フィールドで、[利用規約] を選択し、[request_uri] フィールドを選択します。
応答時間の分位数を照会する
[Metric] フィールドで、[パーセンタイル] を選択し、[upstream_response_time] フィールドを選択し、[Values] フィールドを分位値 (50,95、99など) に設定します。
トップリクエストURLによる応答時間の分位数の表示
[メトリック] フィールドで、[パーセンタイル] を選択し、[upstream_response_time] フィールドを選択し、[値] フィールドを99に設定します。 [グループ別] フィールドで、[利用規約] を選択し、[request_uri] フィールドを選択します。

HTTPステータスコードが200されていない上位リクエストのURIを表示する
Lucene Queryフィールドに、NOT status: 200と入力します。 [グループ別] フィールドで、[利用規約] を選択し、[request_uri] フィールドを選択します。

HTTPステータスコードが200されていないトップリクエストのURIとリクエストメソッドの表示
Lucene Queryフィールドに、NOT status: 200と入力します。 [Group By] フィールドで、[Terms] を選択し、[request_uri] フィールドを選択します。 [Then By] フィールドで、[Terms] を選択し、[request_method] フィールドを選択します。
