全部產品
Search
文件中心

Simple Log Service:get_log

更新時間:Jun 30, 2024

調用CLI命令查詢日誌。該命令適用於擷取指定數量日誌資料的情境。

請求文法

aliyunlog log get_log --project=<value> --logstore=<value> --from_time=<value> --to_time=<value> [--topic=<value>] [--query=<value>] [--reverse=<value>] [--offset=<value>] [--size=<value>] [--power_sql=<value>] [--access-id=<value>] [--access-key=<value>] [--sts-token=<value>] [--region-endpoint=<value>] [--client-name=<value>] [--jmes-filter=<value>] [--format-output=<value>] [--decode-output=<value>] [--profile=<value>]

請求參數

該命令的必選和特有參數描述如下。

參數名稱

數實值型別

是否必選

樣本值

描述

--project

String

aliyun-test-project

Project名稱。

--logstore

String

logstore-a

Logstore名稱。

--from_time

String

2021-05-28 15:33:00+8:00

開始時間,Unix時間戳記格式或者“%Y-%m-%d %H:%M:%S<time_zone>” 格式,例如“2018-01-02 12:12:10+8:00”

--to_time

String

2021-05-28 15:40:00+8:00

結束時間,Unix時間戳記格式或者“%Y-%m-%d %H:%M:%S<time_zone>” ,例如“2018-01-02 12:12:10+8:00”

--topic

String

""

日誌主題。預設值為雙引號("")。更多資訊,請參見日誌主題(Topic)

--query

String

level:Information|select event_id as Key1,COUNT(*) as Key2 group by Key1

查詢語句或者分析語句。更多資訊,請參見查詢概述分析概述

在query參數的分析語句中加上set session parallel_sql=true;,表示使用SQL獨享版。例如* | set session parallel_sql=true; select count(*) as pv

說明

query參數中有分析語句(SQL語句)時,size參數和offset參數需要設定為0,需通過SQL語句的LIMIT文法實現翻頁。更多資訊,請參見分析結果分頁

--reverse

Boolean

true

用於指定返回結果是否按日誌時間戳記降序返回日誌,精確到分鐘層級。

  • true:按照日誌時間戳記降序返回日誌。

  • false(預設值):按照日誌時間戳記升序返回日誌。

重要
  • 當query參數為查詢語句時,reverse參數有效,用於指定返回日誌排序方式。

  • 當query參數為查詢和分析語句時,reverse參數無效,由SQL分析語句中order by文法指定排序方式。如果order by為asc(預設),則為升序;如果order by為desc,則為降序。

--offset

Integer

0

僅當query參數為查詢語句時,該參數有效,表示查詢開始行。預設值為0。

--size

Integer

10

僅當query參數為查詢語句時,該參數有效,表示請求返回的最大日誌條數。最小值為0,最大值為100,預設值為100。

--power_sql

Boolean

false

是否使用SQL獨享版。更多資訊,請參見開啟SQL獨享版

  • true:使用SQL獨享版。

  • false(預設值):使用SQL普通版。

除通過powerSql參數配置SQL獨享版外,您還可以使用query參數指定。

關於該命令的全域參數,請參見全域參數

樣本

  • 請求樣本

    使用預設帳號查詢請求狀態為POST的20條事件記錄。命令樣本如下:

    aliyunlog log get_log --project="aliyun-test-project" --logstore="logstore-a" --from_time="2021-05-28 15:33:00+8:00" --to_time="2021-05-28 15:40:00+8:00" --query="request_method:POST | select status,COUNT(*) as pv group by status order by pv desc limit 20" --format-output=json
  • 返回樣本

    {
      "data": [
        {
          "__source__": "",
          "__time__": "1719382500",
          "pv": "17",
          "status": "200"
        },
        {
          "__source__": "",
          "__time__": "1719382500",
          "pv": "3",
          "status": "500"
        }
      ],
      "meta": {
        "aggQuery": "select status,COUNT(*) as pv group by status order by pv desc limit 20",
        "columnTypes": [
          "long",
          "long"
        ],
        "count": 2,
        "cpuSec": 0.025,
        "elapsedMillisecond": 0,
        "hasSQL": true,
        "insertedSQL": "1,29, from \"gs-api\" ",
        "isAccurate": true,
        "keys": [
          "status",
          "pv"
        ],
        "processedBytes": 226,
        "processedRows": 20,
        "progress": "Complete",
        "telementryType": "logging",
        "telemetryType": "logging",
        "terms": [
          {
            "key": "",
            "term": "*"
          }
        ],
        "whereQuery": "*"
      }
    }

更多參考

命令

使用情境

get_logs

使用JSON設定檔精確查詢日誌資料。

get_log_all

查詢大批量日誌資料。