调用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。 |
关于该命令的全局参数,请参见
全局参数。
示例
- 请求示例
使用默认账号查询Information级别的事件数量。命令示例如下:
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="level:Information|select event_id as Key1,COUNT(*) as Key2 group by Key1" --reverse=true
- 返回示例
[
{
"Key1": "16394",
"Key2": "1",
"__source__": "",
"__time__": "1622186400"
},
{
"Key1": "44",
"Key2": "1",
"__source__": "",
"__time__": "1622186400"
},
{
"Key1": "7036",
"Key2": "7",
"__source__": "",
"__time__": "1622186400"
},
{
"Key1": "16384",
"Key2": "1",
"__source__": "",
"__time__": "1622186400"
},
{
"Key1": "43",
"Key2": "1",
"__source__": "",
"__time__": "1622186400"
},
{
"Key1": "19",
"Key2": "1",
"__source__": "",
"__time__": "1622186400"
}
]
- 下载示例
使用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文件,您可以在该文件下查看到日志信息。
[
{
"__source__": "",
"__time__": "1672905271",
"method": "HEAD",
"pv": "21"
},
{
"__source__": "",
"__time__": "1672905271",
"method": "DELETE",
"pv": "502"
},
{
"__source__": "",
"__time__": "1672905271",
"method": "PUT",
"pv": "1275"
},
{
"__source__": "",
"__time__": "1672905271",
"method": "POST",
"pv": "1279"
},
{
"__source__": "",
"__time__": "1672905271",
"method": "GET",
"pv": "5226"
}
]