调用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 秒),则为历史数据。
日志服务提供 Java SDK 的 GetHistograms 查询使用示例。更多信息,请参见使用 GetHistograms 查询日志分布数量。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
调试
授权信息
请求语法
GET /logstores/{logstore}/index?type=histogram HTTP/1.1
路径参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| logstore |
string |
是 |
Logstore 名称。 |
test-logstore |
请求参数
|
名称 |
类型 |
必填 |
描述 |
示例值 |
| project |
string |
是 |
project 名称。 |
ali-test-project |
| from |
integer |
是 |
子时间区间的开始时间点。UNIX 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。 |
1409529600 |
| to |
integer |
是 |
子时间区间的结束时间点。UNIX 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。 |
1409569200 |
| topic |
string |
否 |
日志主题。 |
topic |
| query |
string |
否 |
查询语句。仅支持查询语句,不支持分析语句。关于查询语句的详细语法和使用限制,请参见查询概述。 |
with_pack_meta |
返回参数
|
名称 |
类型 |
描述 |
示例值 |
|
array |
请求参数列表。 |
||
|
object |
请求参数。 |
||
| from |
integer |
子时间区间的开始时间点。UNIX 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。 时间区间遵循“左闭右开”原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果 from 和 to 的值相同,则为无效区间,函数直接返回错误。 |
1409529600 |
| to |
integer |
子时间区间的结束时间点。UNIX 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。 时间区间遵循“左闭右开”原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果 from 和 to 的值相同,则为无效区间,函数直接返回错误。 |
1409569200 |
| count |
integer |
该子时间区间内查询到的日志条数。 |
2 |
| progress |
string |
当前查询结果在该子时间区间内的结果是否完整。 Complete:查询已经完成,返回结果为完整结果。 Incomplete:查询已经完成,返回结果为不完整结果,需要重复请求以获得完整结果。 |
Complete |
示例
正常返回示例
JSON格式
[
{
"from": 1409529600,
"to": 1409569200,
"count": 2,
"progress": "Complete"
}
]
错误码
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。