get_project_logs

调用CLI命令查询目标Project下的日志,该命令是Project级别的SQL查询命令。

注意事项

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

  • 已安装日志服务CLI,并完成配置。具体操作,请参见安装CLI配置CLI

  • 已创建日志服务Project、Logstore并完成日志采集。具体操作,请参见创建项目Project创建Logstore数据采集概述

  • 已创建并获取AccessKey。更多信息,请参见访问密钥

    阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。RAM用户需具备操作日志服务资源的权限。具体操作,请参见创建RAM用户及授权

  • 已明确您查询日志所属的Project名称、所属地域、Logstore名称等。如何查询,请参见管理Project管理Logstore

  • 日志服务查询日志时存在使用限制。请设计合理查询与分析语句、设置合理查询区间等。更多信息,请参见查询日志使用限制分析日志使用限制

  • 查询日志前,已配置索引。具体操作,请参见创建索引

命令格式

aliyunlog log get_project_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>] [--profile=<value>]

命令参数

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

参数名称

数值类型

是否必选

示例值

描述

--request

String

file://./get_project_logs_config.json

查询日志的配置文件路径。您需要在执行该命令前,创建该文件,指定Project名称、查询分析语句等信息。

您可以参考命令示例中说明创建该文件。

  • 参数query是一个标准的SQL查询语句。

  • 查询的Logstore在查询语句的from条件中指定。可以将Logstore看做是SQL中的表。

  • 在查询的SQL条件中必须指定要查询的时间范围,时间范围由__date__(Timestamp类型)或__time__(Integer类型,单位是秒)来指定。

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

命令示例

  1. 创建get_project_logs_config.json文件,用于指定查询的Project、查询分析语句等。该query用于查询一小时内每10分钟的PV数量,其中ali-test-project为Project名称,nginx-moni为Logstore名称,query为标准的SQL查询语句。其内容示例如下:

    {
    "project": "ali-test-project",
    "query": "select date_format(__time__-__time__%600, '%H:%i:%s') as time, COUNT(*) as pv from nginx-moni where __time__ > 1683252000 and __time__ < 1683255600 group by time order by time",
    "power_sql": false
    }
  2. 查询目标Project下小时内每10分钟的日志数量分布。

    • 命令示例

      aliyunlog log get_project_logs --request="file://./get_project_logs_config.json" --format-output=json,no_escape
    • 返回示例

      {
        "data": [
          {
            "__source__": "",
            "__time__": "1",
            "pv": "110",
            "time": "09:30:00"
          }
        ],
        "meta": {
          "aggQuery": "select date_format(__time__-__time__%600, '%H:%i:%s') as time, COUNT(*) as pv from gs-api where __time__ > 1718933444 and __time__ < 1718933864 group by time order by time",
          "count": 1,
          "cpuCores": 26,
          "cpuSec": 0.076,
          "elapsedMillisecond": 29,
          "hasSQL": true,
          "mode": 0,
          "processedRows": 110,
          "progress": "Complete",
          "whereQuery": ""
        }
      }

相关文档

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

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

  • 关于该API接口的详细信息,请参见GetProjectLogs - 获取目标Project下的日志