如何使用PromQL查询指定时间范围的Prometheus指标
PromQL查询指定时间范围指标的方法
在Prometheus UI中查询
- 打开Prometheus UI的Graph页面
- 在查询框中输入目标指标表达式,比如
http_requests_total - 点击顶部时间选择器的"Custom time range"选项
- 填入起始时间
2020-08-01 00:00:00和结束时间2020-08-30 23:59:59,点击"Apply"即可获取该时间段的指标数据
通过HTTP API查询
使用Prometheus的/api/v1/query_range接口,需指定start、end(Unix时间戳)和step参数,示例命令:
curl 'http://你的Prometheus地址:9090/api/v1/query_range?query=http_requests_total&start=1596220800&end=1598812799&step=30s'
注:
1596220800是2020-08-01 00:00:00对应的Unix时间戳,1598812799是2020-08-30 23:59:59的时间戳step定义数据点的采样间隔,比如30s表示每30秒取一个数据点
PromQL表达式中的时间范围限定
如果需要在表达式中针对特定窗口计算,可使用区间向量语法:
rate(http_requests_total[1h]):计算1小时窗口内的指标增长率(结合UI/API的时间范围参数可获取历史时段的该值)increase(http_requests_total[30d]):计算30天窗口内的指标增量
注意事项
- 确认Prometheus的存储保留时长(
retention_time配置)覆盖了你要查询的时间范围,超出保留期的数据会被清理,无法查询 - Unix时间戳可通过
date -d "2020-08-01" +%s这类命令行工具或在线工具转换得到
内容的提问来源于stack exchange,提问作者Lson
相关产品推荐
相关产品推荐

