tencent cloud

Cloud Log Service

ドキュメントCloud Log ServiceユースケースダッシュボードCLSをGrafanaに接続し、ESデータソースを置き換える

CLSをGrafanaに接続し、ESデータソースを置き換える

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 15:06:44
AI翻訳

背景

CLS(Cloud Log Service)の利用シーンにおいて、他のログツールからCLSへの移行は非常によくあるケースです。その中で、Grafanaを可視化監視ツールとして使用しているユーザーも存在します。例えば、ES + Grafanaの組み合わせです。データソースをCLSに移行した後、ユーザーがGrafanaを活用して作成したさまざまなダッシュボードリソースや、構築した運用保守ツールおよびプラットフォームはすべて機能しなくなります。この体制を再構築することを避けるために、CLSをGrafanaに接続し、ESデータソースを置き換える必要があります。




CLS-Grafanaプラグインのインストール

CLSデータソースはTencent Cloud CLSチームによってメンテナンスされており、公式署名認証に合格しています。Grafana設定ページでワンクリックでインストールできます。
具体的な接続手順については、CLSとGrafanaの連携を参照してください。

CLSデータソースを使用してESデータソースを置き換える

データソース設定エリアの比較

ESデータソース:クエリステートメント画面は、上部のQuery入力エリアとその他の補助入力機能エリアに分かれています。Query入力エリアにはLuceneステートメントを入力でき、ログのフィルタリングに使用します。補助入力機能エリアはクリックして入力することでDSLコンテンツを生成し、データ集計に使用します。これはCLSのSQLに相当します。



CLSデータソース:クエリステートメント画面は、リージョンとログトピックの選択と検索分析ステートメントの2つの部分に分かれています。リージョンとログトピックの選択モジュールではログトピックをすばやく切り替えることができ、検索分析ステートメントはCLSクエリステートメントの入力に使用します。
CLSクエリステートメントは、LuceneとSQLの2つの部分に分かれています。2つの部分はパイプ文字「|」で区切られています。Lucene部分はESのQuery入力エリアの内容と同じです。SQL入力内容は、標準のSQL構文に加えて、多数のSQL関数もサポートしています。SQLエリアの内容は、ES入力エリアの補助入力モジュールと対応しています。詳細については、CLS構文ルールを参照してください。




操作手順

ログ件数の集計

時間経過に伴うログ件数の変化をグラフ化したい場合、ESデータソースではMetricにCountを選択し、GroupByにHistogramを選択します。CLSの検索ステートメントでは、Histogramと集計関数Countを組み合わせて使用することで実現できます。同様に、Max、Min、Distinctなどの他の汎用集計関数についても使用方法は完全に同じです。Count関数を直接置き換えるだけで済みます。

生ログの表示

条件に合致するログを直接表示したい場合、ESデータソースではMetricでLogsモードを選択する必要があります。一方、CLSでは対応するLuceneステートメントを入力するだけで済みます。入力ステートメントの比較:



表示効果:




集計統計 - エラーコード比率

エラーコードに基づいて集計し、各エラーコードのログ件数を表示します。ここでは、ステートメントに変数$pathが含まれていることがわかります。CLSデータソースプラグインは変数機能に関する対応を行っており、Grafanaの変数機能を直接使用できます。
注意:
円グラフを描画する際、右側のグラフオプションでValueOptions-AllValuesを選択してください。



表示効果:




集計統計 - 上位5リクエスト数の推移

ESデータソースでは、GroupBy集計オプションでSize値を入力できます。出現頻度が最も高いN個の値を選択してから集計することができます。
この状況は、CLSデータソースのSQLにおいて、having句とネストされたサブクエリを組み合わせることで実現できます。
*|select histogram( cast(__TIMESTAMP__ astimestamp),interval1hour)as analytic_time,"action",count(*)as countgroupby analytic_time,"action"having"action"in(selectactiongroupbyactionorderbycount(*)desclimit5)orderby analytic_time limit1000



查询結果を見ると、図には合計5本の曲線があることがわかります。


以上のステートメントを組み合わせて使用することで、すでに大部分の検索分析シーンを満たすことができます。

インターフェース所要時間の区分別集計

ESデータソースのダッシュボードには、設定項目は多いですが、幅広いシーンに適用できる例があります。異なる時間範囲に基づいて、その時間範囲内のリクエスト数を描画します。
このケースでは、インターフェースにおける0 - 500ms、500ms - 2s、2s - 5s、および5秒超のリクエスト数を集計しています。



対応して、CLSデータソースに移行する場合も、同様の複数ステートメントを使用して描画できます。ただし、CLS自体のSQL能力はより強力であり、関連する統計処理を1つのSQLステートメントに統合できます:



urlPath:$path AND region:$region AND action:$action AND returnCode:$returnCode | select histogram( cast(__TIMESTAMP__ as timestamp),interval 1 minute) as analytic_time ,count_if(timeCost<=200) as「0~500ms」,count_if(500<timeCost and timeCost <=2000) as「500ms~2s」,count_if(2000<timeCost and timeCost <=5000) as「2s~5s」,count_if(5000<timeCost) as「超过5s」group by analytic_time order by analytic_time limit 1000
同様のシーンでは、推定関数 approx_percentile を使用して分析した所要時間関連の状況を書き出すこともできます。



urlPath:$path AND region:$region AND action:$action AND returnCode:$returnCode | select time_series(__TIMESTAMP__, '$__interval', '%Y-%m-%dT%H:%i:%s+08:00', '0') as time ,avg(timeCost) as avg ,approx_percentile(timeCost, 0.50) as P50 ,approx_percentile(timeCost, 0.90) as P90 ,approx_percentile(timeCost, 0.95) as P95 group by time order by time limit 10000

テンプレート変数機能

以上のケースでは、Grafanaの変数機能が様々な程度で登場しています。変数機能について、Grafanaの変数タイプは種類が多岐にわたります。定数タイプとTextbox入力ボックスタイプは、各種データソースにおいて完全に同一であるため、移行する必要はありません。ここでは主に、Queryタイプ変数の移行方法について説明します。
ESバージョンの$action変数:表示されるインターフェースの種類を表示するために使用されます。ESデータソースのバージョンではDSLを使用して記述し、意味的にはquery条件がurlPath:$path AND region:$regionに一致するコンテンツを見つけ、その後actionフィールドを選択し、出現回数に従って並べ替えます。



CLSバージョンの$action変数:使用体験は、グラフ編集での入力操作と一貫性を保ちます。サービスタイプとしてCLSを選択し、対応するログトピックを選択した後、SQLステートメントを入力することで、同じ効果を得られます。



CLSの検索ステートメントを使用した変数クエリに加えて、Cloud Monitorのリソースクエリ機能を使用して、Tencent Cloud上のサービスリソースをリスト内容として表示することもできます。機能ドキュメントについては、Cloud Monitorデータソーステンプレート変数機能をご覧ください。使用するステートメントは以下の通りです:
Namespace=QCE/CLS&Action=DescribeInstances&Region=$region&display=${TopicName}/${TopicId}
ログトピックリストをクエリします:


異なるリージョンのリクエストデータ内容の統合

従来の実装では、一部のユーザーにおいて、すべてのデータが同じESインスタンスに保存されている場合があります。CLSを使用した後は、近接原則に基づいて複数のログトピックが作成されます。このとき、ユーザーは複数のログトピックの内容をグラフに統合したいと考える場合があります。
異なる地域からの3件のログクエリについて:



Transformモジュールを使用して、データ合計の効果を実現し、必要なグラフを選択して表示できます。




まとめ

既存のESダッシュボードについて、上記の移行手順を繰り返すことで、ESデータソースのダッシュボードを完全にCLSデータソースのダッシュボードに変換できます。ESからCLSデータソースへの移行により、ユーザーはセルフ構築ELKからTencent Cloud CLSへ移行した後も、蓄積した可視化リソースを継続的に活用できます。変換後のダッシュボードは、機能面でESデータソース版と完全に同等であるだけでなく、データソースプラグインの他の機能(TCOPテンプレート変数)と組み合わせることで、Tencent Cloudエコシステムとのより良い融合を実現できます。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック