promethes query api查询vm数据

VictoriaMetrics 支持来自 Prometheus 查询 API 的以下处理程序:

数据源

查看vm的数据,作为查询的数据源

curl -G 'http://localhost:8428/api/v1/export' -d 'match={__name__=~"galaxy_uptime"}'

 结果为:

{"metric":{"__name__":"galaxy_uptime","instance":"m1"},"values":[8],"timestamps":[1634625140000]}
{"metric":{"__name__":"galaxy_uptime","instance":"m1","foo":"bar"},"values":[8],"timestamps":[1634625140000]}

有两条数据,不同的tag。

查询VM

可以使用Prometheus的HTTP API 查询VM时序数据库。

可以从与 Prometheus 兼容的客户端(例如 Grafana 或 curl)查询这些处理程序。 所有 Prometheus 查询 API 处理程序都可以添加 /prometheus 前缀。 例如, /prometheus/api/v1/query 和 /api/v1/query 都应该可以工作。

HTTP API | Prometheus

curl 'http://localhost:8428/api/v1/query?query=galaxy_uptime&time=1634625140'

或者

curl 'http://localhost:8428/prometheus/api/v1/query?query=galaxy_uptime&time=1634625140'

获得结果:

{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"galaxy_uptime","foo":"bar","instance":"m1"},"value":[1634625140,"8"]},{"metric":{"__name__":"galaxy_uptime","instance":"m1"},"value":[1634625140,"8"]}]}}%

VM在Prometheus querying API加强的HTTP API查询功能

通过http参数设置tag值

/api/v1/query_range?extra_label=user_id=123&query=<query>

通过http参数设置最近的时间起点

例如最近的26小时的数据。

curl 'http://localhost:8428/prometheus/api/v1/query_range?query=galaxy_uptime&start=-26h'

VictoriaMetrics accepts round_digits query arg 

VictoriaMetrics 接受 /api/v1/query 和 /api/v1/query_range 处理程序的 round_digits 查询参数。 它可用于将响应值四舍五入到小数点后给定的位数。 例如, /api/v1/query?query=avg_over_time(temperature[1h])&round_digits=2 会将响应值四舍五入到小数点后两位。

 

将多个值,1+8+1+8=18,除以point的数量4,获得结果4.5。 

默认情况下,VictoriaMetrics 从 /api/v1/series 返回最近 5 分钟的时间序列,而 Prometheus API 默认为所有时间。 使用开始和结束选择不同的时间范围。

我觉得 “Prometheus API 默认为所有时间”,是指真正的Prometheus的API,而不是vm的“http://localhost:8428/prometheus”这种api。

 /api/v1/series

根据label查询series的个数。默认vm返回最近 5 分钟的时间序列,需要制定start才能查询到超过5分钟的数据。

 

vm对于查询api的增强,还有对自身查询的统计信息。例如,可以统计最近频繁查询的sql。

curl 'http://localhost:8428/api/v1/status/top_queries'

{"topN":"20","maxLifetime":"10m0s","search.queryStats.lastQueriesCount":20000,"search.queryStats.minQueryDuration":"1ms","topByCount":[{"query":"http://localhost:8428/prometheus/api/v1/query?query=galaxy_uptime","timeRangeSeconds":144000,"count":1}],"topByAvgDuration":[{"query":"http://localhost:8428/prometheus/api/v1/query?query=galaxy_uptime","timeRangeSeconds":144000,"avgDurationSeconds":0.001,"count":1}],"topBySumDuration":[{"query":"http://localhost:8428/prometheus/api/v1/query?query=galaxy_uptime","timeRangeSeconds":144000,"sumDurationSeconds":0.001,"count":1}]}%

还有查询series条数,查询tag与记录条数的对应关系。

 

​​​​​​​

参考:

VictoriaMetrics · The High Performance Open Source Time Series Database & Monitoring Solution

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值