调用CLI命令查询指定Project下某个Logstore中的日志。该命令适用于精确查询场景。在使用该命令时,您需要构造JSON格式的request请求配置文件,在JSON文件中,您可以灵活、准确地配置查询请求。

命令格式

aliyunlog log get_logs --request=<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>]

命令参数

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

参数名称

数值类型

是否必选

示例值

描述

--request

JSON Object

file://./getlogs.json

查询日志的配置文件路径。

您需要在执行该命令前,创建该文件,指定待查询的Project、Logstore、时间区段和查询分析语句等。

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

命令示例

查询logstore-a中TOP3的状态码分布情况,操作过程如下。

  1. 创建getlogs.json文件,用于指定待查询的Project、Logstore、时间区段和查询分析语句等,其内容示例如下:

    {
    "topic": "",
    "logstore": "logstore-a",
    "project": "aliyun-test-project",
    "toTime": "2021-05-28 15:33:00",
    "offset": "0",
    "query": "*|select status,COUNT(*) as pv group by status order by pv desc limit 3",
    "line": "2",
    "fromTime": "2021-05-28 15:18:00",
    "reverse": "true"
    }

    建议query参数使用控制台可正常查询的查询语句或者分析语句。更多信息,请参见查询概述分析概述

  2. 使用默认账号查日志。命令示例如下:

    aliyunlog log get_logs --request="file://./getlogs.json" --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,
        "cpuCores": 11,
        "cpuSec": 0.024,
        "elapsedMillisecond": 38,
        "hasSQL": true,
        "insertedSQL": "1,29, from \"logstore-a\" ",
        "isAccurate": true,
        "keys": [
          "status",
          "pv"
        ],
        "powerSql": false,
        "processedBytes": 226,
        "processedRows": 20,
        "progress": "Complete",
        "telementryType": "logging",
        "telemetryType": "logging",
        "terms": [
          {
            "key": "",
            "term": "*"
          }
        ],
        "whereQuery": "*"
      }
    }

    以上查询返回TOP3的status及对应的数量分布情况。

相关文档

  • 为便于查询日志,CLI提供以下命令。您可以根据场景选择合适命令。

    命令

    使用场景

    get_log

    查询指定数量日志数据。

    get_log_all

    查询大批量日志数据。

  • 在调用API接口过程中,若服务端返回结果中包含错误信息,则表示调用API接口失败。您可以参考API错误码对照表查找对应的解决方法。更多信息,请参见API错误处理对照表

  • 阿里云OpenAPI开发者门户提供调试、SDK、示例和配套文档。通过OpenAPI,您无需手动封装请求和签名操作,就可以快速对日志服务API进行调试。更多信息,请参见OpenAPI开发者门户

  • 关于该API接口的详细信息,请参见GetLogs

  • 日志服务提供Java和Python SDK的GetLogs查询使用示例。更多信息,请参见使用GetLogs接口查询日志使用GetLogs接口查询日志