Prometheus 查询 metricset
编辑Prometheus 查询 metricset
编辑这是 query
metricset,用于从 Prometheus 的查询 API 查询数据。
配置
编辑即时查询
编辑以下配置执行对 up
指标的即时查询,查询某个时间点的值。
- module: prometheus period: 10s hosts: ["localhost:9090"] metricsets: ["query"] queries: - name: 'up' path: '/api/v1/query' params: query: "up"
也可以使用更复杂的 PromQL 表达式,例如以下示例,它计算过去 5 分钟内 HTTP 请求的每秒速率。
- module: prometheus period: 10s hosts: ["localhost:9090"] metricsets: ["query"] queries: - name: "rate_http_requests_total" path: "/api/v1/query" params: query: "rate(prometheus_http_requests_total[5m])"
范围查询
编辑以下示例评估表达式 up
在 30 秒的范围内,查询分辨率为 15 秒。
- module: prometheus period: 10s metricsets: ["query"] hosts: ["node:9100"] queries: - name: "up_master" path: "/api/v1/query_range" params: query: "up{node='master01'}" start: "2019-12-20T23:30:30.000Z" end: "2019-12-21T23:31:00.000Z" step: 15s
有关 metricset 中每个字段的描述,请参阅 导出字段 部分。
这是一个由该 metricset 生成的示例文档。
{ "@timestamp": "2017-10-12T08:05:34.853Z", "event": { "dataset": "prometheus.query", "duration": 115000, "module": "prometheus" }, "metricset": { "name": "query", "period": 10000 }, "prometheus": { "labels": { "__name__": "go_threads", "instance": "localhost:9090", "job": "prometheus" }, "query": { "go_threads": 18 } }, "service": { "address": "localhost:32769", "type": "prometheus" } }