調用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配置文件精確查詢日志數據。 | |
查詢指定數量日志數據。 |