Simple Log Service (SLS) では、クエリ文を使用してログをフィルターできます。結果は単独で使用することも、分析文の入力として使用することもできます。
前提条件
ログをクエリするには、インデックスを作成する必要があります。
基本構文
-
SLS Query Skill によるインテリジェントなログクエリと分析:ローカル AI エージェントで自然言語を使用して SLS ログデータをクエリおよび分析します。
クエリ文と分析文は、クエリ文|分析文 の形式で | で区切られます。例:
* | SELECT status, count(*) AS PV GROUP BY status
|
文の種類 |
説明 |
|
クエリ文 |
検索条件を指定します:キーワード、数値、数値範囲、スペース、またはアスタリスク (*)。 スペースまたはアスタリスク (*) を指定した場合、フィルターは適用されません。 重要
クエリ文には 30 個以下の条件を指定してください。 |
|
分析文 |
重要
分析文はクエリ文の後に記述する必要があります。FROM 句や WHERE 句は不要です。デフォルトで、SLS は現在の Logstore 内のすべてのデータを分析します。分析文では大文字と小文字は区別されず、オフセットはサポートされず、末尾のセミコロン (;) も不要です。 検索結果またはすべてのデータに対して計算および統計分析を実行します。サポートされている関数と構文: |
検索クエリの作成
クエリ文を作成するには:
ステップ 1:検索タイプの選択
ステップ 2:フィールドのデータの型
ステップ 3:一致モードの選択
クエリ文の例
検索結果は、ログの内容とインデックス構成によって異なります。以下の例では、次のサンプルログとインデックス構成を使用します。
Text、double、および long 型
サンプルログ
以下は NGINX アクセスログのサンプルです。後続のクエリ文はこのログ形式に基づいています:
__tag__:__receive_time__0 :1645499498
body_bytes_sent :3033
client_ip :11x xxx xxx4.26
host :www.wmxxxxxxxxxm
http_host :wxxxxxxxx xxxck.com
http_user_agent :Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.xxx xxx56 Safari/535.11
http_x_forwarded_for :11xx xxxxxxx.213
instance_id :i-01
instance_name :instance-02
network_type :vlan
owner_id :owner-01
referer :www.xxxxxxxxx.com
region :cn-shanghai
remote_addr :21x xx xxx76
remote_user :6f3x
request method :PUT POST
request_length :2414
request_method :GET
request_time :71
request_uri :/request/path-1/file-2
scheme :https
server_protocol :HTTP/2.0
slbid :slb-01
status :200
time_local :22/Feb/2022:03:11:08
upstream_addr :117.xxx.xxx6
upstream_response_time :27
upstream_status :200
user_agent :Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 FireFox/29.0
vip_addr :2xx xxxxxxxx.33
vpc_id :195datxxxxxxxxxxxxxxxxx6d9c1f46f
インデックス構成
ログをクエリする前にインデックスを作成します。インデックス構成を確認するには、次の手順に従います。
-
Logstore の [クエリと分析] ページで、 を選択します。
-
表示されるパネルで、フィールドインデックスが構成されているかどうかを確認します。
一般的な検索
あいまい検索
デリミタによる検索
キーワードのエスケープ
Json 型
サンプルログ
{
"timestamp": "2025-03-21T14:35:18Z",
"level": "ERROR",
"service": {
"name": "payment-processor",
"version": "v2.8.1",
"environment": "production"
},
"error": {
"code": 5031,
"message": "Failed to connect to third-party API",
"details": {
"endpoint": "https://api.paymentgateway.com/v3/verify",
"attempts": 3,
"last_response": {
"status_code": 504,
"headers": {
"Content-Type": "application/json",
"X-RateLimit-Limit": "100"
}
}
}
},
"user": {
"id": "usr-9a2b3c4d",
"session": {
"id": "sess-zxy987",
"device": {
"type": "mobile",
"os": "Android 14",
"network": "4G"
}
}
},
"trace": {
"correlation_id": "corr-6f5e4d3c",
"span_id": "span-00a1b2"
}
}
インデックス構成
ログをクエリする前にインデックスを作成します。インデックス構成を確認するには、次の手順に従います。
-
Logstore の [クエリと分析] ページで、 を選択します。
-
表示されるパネルで、フィールドインデックスが構成されているかどうかを確認します。
例
|
目的 |
クエリ文 |
|
リクエストエラーを記録したログを検索します。 |
|
|
ID が |
|
|
ユーザー |
|
よくある質問
クエリでログが返されない
JSON ログの問題
クエリエラーのトラブルシューティング
関連トピック
-
ログクエリの例
-
JSON ログのクエリと分析では、オブジェクトまたは配列の値を持つ JSON フィールドの例をカバーしています。