调用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时间戳格式或者 |
--to_time | String | 是 | 2021-05-28 15:40:00+8:00 | 结束时间,Unix时间戳格式或者 |
--topic | String | 否 | "" | 日志主题。更多信息,请参见日志主题(Topic)。 |
--query | String | 否 |
| 说明 当query参数中有分析语句(SQL语句)时,line参数和offset参数需要设置为0,通过LIMIT语法翻页。更多信息,请参见分析结果分页。 |
--reverse | Boolean | 否 | true | 是否按日志时间戳逆序返回日志,精确到分钟级别。
|
--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" } }
更多参考
命令 | 使用场景 |
使用JSON配置文件精确查询日志数据。 | |
查询指定数量日志数据。 |