tencent cloud

Cloud Log Service

ログからのメトリクス抽出

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

背景

ユーザーがCLSダッシュボードを使用する際に、検索タイムアウトが原因でグラフ描画が失敗する問題が発生することがあります。このような場合、ログを指標(Metric)データに変換し、PromQLを使用して指標を計算・分析することを検討できます。その分析性能はログよりも高く、ダッシュボードのタイムアウト問題を効果的に解決できます。

概要

定期SQLを使用して、ログから指標を抽出し、指標を指標トピックに保存できます。ログと比較して、指標はクエリが高速で、ストレージ容量が小さく、Prometheusエコシステムと連携できます。指標の詳細については、指標ストレージの概要を参照してください。
以下では、定期SQLを使用してMetricに変換する方法を例示します。そのビジネスシナリオは次のとおりです:Nginxログから3つの指標(PV、失敗リクエスト数、P99_リクエスト時間)を抽出します。指標のディメンションはURLであり、PVの大きさに基づいてTOP10を取得します。
定期SQLを使用して、ログから指標への変換を実行します。

操作手順

1. CLSコンソールにログインし、重慶リージョンを選択し、Nginx Demoログトピック(無料の体験トピック)の検索分析ページを開きます。Demoログトピックについては、Demoログを使用してCLSをすばやく体験するをご覧ください。
1件の元のログは以下の通りです:
{
"remote_addr":"124.78.124.112"
"method":"GET"
"upstream_addr":"169.254.128.14:60002"
"upstream_response_length":"48"
"body_bytes_sent":"59"
"time_local":"2021-12-03T17:16:58+00:00"
"version":"HTTP/1.1"
"url":"/"
"http_user_agent":"-"
"remote_user":"-"
"req_id":"e3d1ae06b30344539bc7e28314d542fa"
"upstream_status":"400"
"request_time":"0.002"
"sys_address":"11.149.155.219"
"request_length":"40"
"http_referer":"-"
"sys_datasource":"gz.1.1.v1.2.19"
"proxy_upstream_name":"default-kubernetes-443"
"upstream_response_time":"0.000"
"time":"1702542388004"
"timestamp":"2023-12-14T16:26:28+08:00"
"status":"400"
}
2. demoログトピックの検索分析を開き、以下のクエリ文を入力します:
select count(*)as pv, count_if(status>=400)as bad_request_count, approx_percentile(request_time,0.99) as P99_request_time,url group by url order by pv desc limit 10
結果は下図の通りです。これにより、クエリ文の正確性が確認されました:

3. 統計グラフTABページの右上で、定时SQL分析として保存をクリックします。基本設定項目を完了します。
設定項目
説明
タスク名
Log2Metric
書き込み先
指標テーマを選択します。事前に作成しておきます。例の名前はNginxMetricです。
実行ステートメント
* | select count(*)as pv, count_if(status>=400)as bad_request_count, approx_percentile(request_time,0.99) as P99_request_time,url group by url order by pv desc limit 10
プレビュー結果
プレビューをクリックします。
指標名
システムはデフォルトでSQLステートメント内の統計指標(数値型)を自動入力します:pv、bad_request_count、P99_request_time
指標ディメンション
ドロップダウンメニューをクリックして、urlを選択します。これは通常、group byの後ろのフィールドです。例では、URLごとにグループ化して統計することを意味します。
カスタムディメンション
{"Author","Coder"}。独自のディメンションを追加します。実際の運用環境では、開発グループ、アプリケーション、クラスタ、名前空間などが該当します。
タイムスタンプ
デフォルト(クエリ時間枠の左側)です。例えば、00:00:00-00:00:01のデータをクエリした場合、生成される指標のタイムスタンプは枠の左側の時間:00:00:00です。
4. 次へをクリックし、スケジュール設定に進みます。
設定項目
説明
スケジュール範囲
定时SQLで処理されるデータ範囲です。
スケジュール周期
1分間です。これは1分ごとにクエリを1回実行し、結果を指標トピックに保存することを意味します。
クエリ時間枠
時間式を選択します。@m-1m,@mは、直近1分間のクエリ範囲を意味します。
5. 確定をクリックして、タスクを保存します。
6. 検索分析ページの右上にあるその他をクリックし、定时SQL分析をクリックし、名前がlog2Metricのタスクを選択して、タスク詳細ページに進みます。
7. 在当前定时SQL分析任务详情中找到目标主题 NginxMetric、单击目标主题、跳转至指标主题查询页面、单击浏览指标、从指标列表中选择一个指标进行查看。
8. 指標検索を使用して指標データを計算分析し、分析結果をダッシュボードに追加します。


ヘルプとサポート

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

フィードバック