文档

GetHistograms

更新时间:

调用GetHistograms接口查询指定Logstore中满足查询语法条件的日志分布情况,返回结果显示某时间区间中的日志条数(数量)。

接口说明

  • 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。
  • 已创建并获取AccessKey。更多信息,请参见访问密钥

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

  • 已明确您查询日志所属的Project名称、所属地域、Logstore名称等。如何查询,请参见管理Project管理Logstore
  • 查询日志前,已配置索引。具体操作,请参见创建索引
  • 参数query仅支持查询语句,不支持分析语句。关于查询语句的详细语法和使用限制,请参见查询概述
  • 该接口的响应中子区间划分方式是一直稳定的。如果您在请求查询的时间区间不变,则响应中子区间划分结果也不会改变。
  • 当查询涉及的日志数量非常大时,日志服务API无法预测需要调用多少次该接口来获取完整结果。所以需要您查看每次请求返回结果中的progress成员状态值,根据成员状态值来确定是否需要重复调用该接口来获取最终完整结果。每次重复调用该接口都会重新消耗相同数量的查询CU。
  • 从日志写入日志库到查询接口(GetHistograms和GetLogs)查到该日志,延时时长因写入日志类型不同而异。日志服务按日志时间戳把日志分为如下两类:
    • 实时数据:日志中时间点为服务器当前时间点(-180秒,900秒]。例如,日志时间为UTC 2014-09-25 12:03:00,服务器收到时为UTC 2014-09-25 12:05:00,则该日志被视作实时数据处理。实时数据从写入到在日志查询界面查询到该数据的延迟为3秒。
    • 历史数据:日志中时间点为服务器当前时间点[-7x86400秒,-180秒)。例如,日志时间为UTC 2014-09-25 12:00:00,服务器收到时为UTC 2014-09-25 12:05:00,则该日志被作为历史数据处理,一般出现在补数据场景下。

      其中,实时数据写入至可查询的最大延时为3秒,99.9%情况下1秒内即可查询完毕。

说明 日志服务将日志时间(字段名称为__time__)和服务器收到时间(字段名称为__tag__:__receive_time__)做差,若其差值位于(-180秒,900秒]范围,则为实时数据,若其差位于[-7x86400秒,-180秒),则为历史数据。

鉴权资源

下表列出了API对应的授权信息。您可以在RAM权限策略语句的Action元素中添加该信息,用于为RAM用户或RAM角色授予调用此API的权限。

动作(Action)

授权策略中的资源描述方式(Resource)

log:GetLogStoreHistogram acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName}

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

GET /logstores/{logstore}/index?type=histogram HTTP/1.1

请求参数

名称 类型 位置 是否必选 示例值 描述
project String Host ali-test-project

project 名称。

logstore String Path test-logstore

Logstore名称。

from Long Query 1409529600

子时间区间的开始时间点。UNIX时间戳格式,表示从1970-1-1 00:00:00 UTC计算起的秒数。

to Long Query 1409569200

子时间区间的结束时间点。UNIX时间戳格式,表示从1970-1-1 00:00:00 UTC计算起的秒数。

topic String Query topic

日志主题。

query String Query with_pack_meta

查询语句。仅支持查询语句,不支持分析语句。关于查询语句的详细语法和使用限制,请参见查询概述

返回数据

名称 类型 示例值 描述
Server String nginx

服务器名称。

Content-Type String application/json

内容类型。

Content-Length String 0

内容长度。

Connection String close

是否长链接。取值包括:

  • close:不是长链接,则每个HTTP请求都会重新建立TCP连接。
  • keep-alive:长链接,TCP连接建立后保持连接状态,节省连接所需时间和带宽。
Date String Sun, 27 May 2018 08:25:04 GMT

时间。

x-log-requestid String 5B0A6B60BB6EE39764D458B5

请求ID。

Array
from Long 1409529600

子时间区间的开始时间点。UNIX时间戳格式,表示从1970-1-1 00:00:00 UTC计算起的秒数。

时间区间遵循“左闭右开”原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果from和to的值相同,则为无效区间,函数直接返回错误。

to Long 1409569200

子时间区间的结束时间点。UNIX时间戳格式,表示从1970-1-1 00:00:00 UTC计算起的秒数。

时间区间遵循“左闭右开”原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果from和to的值相同,则为无效区间,函数直接返回错误。

count Long 2

该子时间区间内查询到的日志条数。

progress String Complete

当前查询结果在该子时间区间内的结果是否完整。

Complete:查询已经完成,返回结果为完整结果。

Incomplete:查询已经完成,返回结果为不完整结果,需要重复请求以获得完整结果。

示例

请求示例

GET /logstores/test-logstore/index?type=histogram?from=1409529600&to=1409569200&topic=topic&query=with_pack_meta HTTP/1.1
Host:ali-test-project.cn-hangzhou.log.aliyuncs.com
Content-Type:application/json

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "from" : 1409529600,
  "to" : 1409569200,
  "count" : 2,
  "progress" : "Complete"
}

错误码

访问错误中心查看更多错误码。

HttpStatusCode

ErrorCode

ErrorMessage

错误码描述

404

ProjectNotExist

Project does not exist.

Project不存在。

404

LogStoreNotExist

Logstore does not exist.

Logstore不存在。

400

InvalidTimeRange

request time range is invalid.

请求的时间区间无效。

400

InvalidQueryString

query string is invalid.

请求的查询语句无效。

500

InternalServerError

Specified Server Error Message.

内部服务调用错误。

更多信息,请参见通用错误码

  • 本页导读 (1)
文档反馈