调用CLI命令查询日志

更新时间:
复制 MD 格式

调用CLI命令查询指定Logstore中的日志。支持两种查询模式:查询模式(关键字搜索)和SQL模式(统计分析)。

注意事项

在使用CLI命令之前,您需要注意以下事项:

  • 已开通日志服务。

  • 已安装日志服务CLI安装与配置

  • 已创建日志服务ProjectLogstore,并配置索引。

  • 日志库必须已配置索引才能查询。

  • 时间范围为左闭右开区间 [from, to)。

命令格式

aliyun sls get-logs-v2 --project=<value> --logstore=<value> --from=<value> --to=<value> --accept-encoding=lz4 [--query=<value>] [--line=<value>] [--offset=<value>] [--reverse=<value>]

命令参数

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

参数名称

数值类型

是否必选

示例值

描述

--project

String

aliyun-test-project

Project名称。

--logstore

String

aliyun-test-logstore

Logstore名称。

--from

Integer

1740000000

查询起始时间,Unix时间戳(秒)。

--to

Integer

1740003600

查询结束时间,Unix时间戳(秒)。

--accept-encoding

String

lz4

接受编码,必须为lz4。

--query

String

*

查询表达式。查询模式使用查询语法,SQL模式使用<查询语法> | <SQL语句>格式。查询与分析语法可以参考文档。

--line

Integer

100

每次请求返回的最大行数。

--offset

Integer

0

分页偏移量(查询模式)。

--reverse

Boolean

true

结果排序方式(查询模式)。true为新者优先,false为旧者优先。

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

命令示例

查询所有日志

  • 命令示例

aliyun sls get-logs-v2 --project="aliyun-test-project" --logstore="aliyun-test-logstore" \
  --accept-encoding lz4 --from 1740000000 --to 1740003600 --line 100
  • 返回示例

{
  "logs": [
    {
      "__time__": "1740000001",
      "__source__": "192.168.1.10",
      "level": "info",
      "message": "request completed"
    }
  ],
  "meta": {
    "progress": "Complete"
  }
}

字段过滤

  • 命令示例

aliyun sls get-logs-v2 --project="aliyun-test-project" --logstore="aliyun-test-logstore" \
  --accept-encoding lz4 --from 1740000000 --to 1740003600 --line 100 \
  --query '* and "timeout" and status: "500"'
  • 返回示例

{
  "logs": [
    {
      "__time__": "1740000200",
      "__source__": "192.168.1.12",
      "status": "500",
      "message": "timeout error"
    }
  ],
  "meta": {
    "progress": "Complete"
  }
}

SQL模式:统计日志总数

  • 命令示例

aliyun sls get-logs-v2 --project="aliyun-test-project" --logstore="aliyun-test-logstore" \
  --accept-encoding lz4 --from 1740000000 --to 1740003600 \
  --query '* | select count(*) as total from log'
  • 返回示例

{
  "logs": [
    {
      "total": "1250"
    }
  ],
  "meta": {
    "progress": "Complete"
  }
}

SQL模式:分组统计

  • 命令示例

aliyun sls get-logs-v2 --project="aliyun-test-project" --logstore="aliyun-test-logstore" \
  --accept-encoding lz4 --from 1740000000 --to 1740003600 \
  --query '* | select request_uri, count(*) as cnt from log group by request_uri order by cnt desc limit 20'
  • 返回示例

{
  "logs": [
    {
      "request_uri": "/api/user",
      "cnt": "520"
    },
    {
      "request_uri": "/api/order",
      "cnt": "380"
    }
  ],
  "meta": {
    "progress": "Complete"
  }
}

相关文档

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

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

API参考

查询Logstore中的日志数据