get_log_all

调用CLI命令查询日志。该命令适用于获取大量日志数据的场景。

请求语法

aliyunlog log get_log_all --project=<value> --logstore=<value> --from_time=<value> --to_time=<value> [--topic=<value>] [--query=<value>] [--reverse=<value>] [--offset=<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>]

请求参数

该命令的必选和特有参数描述如下。

参数名称

数值类型

是否必选

示例值

描述

--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参数中有分析语句(SQL语句)时,line参数和offset参数需要设置为0,通过LIMIT语法翻页。更多信息,请参见分析结果分页

--reverse

Boolean

true

是否按日志时间戳逆序返回日志,精确到分钟级别。

  • true:按照逆序返回日志。则优先返回最新的日志

  • false(默认值):按照顺序返回日志。

--offset

Integer

0

指定从某一行开始读取查询结果。默认值为0。

关于该命令的全局参数,请参见全局参数

示例

  • 请求示例

    使用默认账号查询请求状态为POST的事件数量。命令示例如下:

    aliyunlog log get_log_all --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" --format-output=json
  • 返回示例

    {
      "data": [],
      "meta": {
        "aggQuery": "select status,COUNT(*) as pv group by status",
        "columnTypes": [
          "long",
          "long"
        ],
        "count": 0,
        "cpuCores": 11,
        "cpuSec": 0.019,
        "elapsedMillisecond": 21,
        "hasSQL": true,
        "insertedSQL": "1,29, from \"logstore-a\" ",
        "isAccurate": true,
        "keys": [
          "status",
          "pv"
        ],
        "limited": 100,
        "powerSql": false,
        "processedBytes": 0,
        "processedRows": 0,
        "progress": "Complete",
        "telementryType": "logging",
        "telemetryType": "logging",
        "terms": [
          {
            "key": "",
            "term": "request_method\uff1apost"
          }
        ],
        "whereQuery": "request_method\uff1aPOST"
      }
    }
  • 下载示例

    使用get_log_all将日志下载至本地。命令示例如下:

    aliyunlog log get_log_all --project="aliyun-test-project" --logstore="logstore-a" --from_time="2022-12-29 15:54:31" --to_time="2022-12-29 16:09:31" --query="status:200|select request_method as method,COUNT(*) as pv group by method order by pv" --format-output=json >>download_data.txt
  • 下载说明

    该命令执行成功后,会在执行该命令的根目录下生成一个download_data.txt文件,您可以在该文件下查看到日志信息。

    {
      "data": [],
      "meta": {
        "aggQuery": "select status,COUNT(*) as pv group by status",
        "columnTypes": [
          "long",
          "long"
        ],
        "count": 0,
        "cpuSec": 0.019,
        "elapsedMillisecond": 0,
        "hasSQL": true,
        "insertedSQL": "1,29, from \"gs-api\" ",
        "isAccurate": true,
        "keys": [
          "status",
          "pv"
        ],
        "limited": 100,
        "processedBytes": 0,
        "processedRows": 0,
        "progress": "Complete",
        "telementryType": "logging",
        "telemetryType": "logging",
        "terms": [
          {
            "key": "",
            "term": "request_method\uff1apost"
          }
        ],
        "whereQuery": "request_method\uff1aPOST"
      }
    }

更多参考

命令

使用场景

get_logs

使用JSON配置文件精确查询日志数据。

get_log

查询指定数量日志数据。