Prometheus 教程

PromQL 简介

PromQL(Prometheus Query Language)是 Prometheus 监控系统中用于查询时间序列数据的查询语言。它提供了丰富的功能,包括数据选择、范围选择、聚合计算等。以下是一些 PromQL 的基本语法:

数据选择

选择特定的指标或标签组合,语法如下:

metric_name{label1="value1", label2="value2"}

例如,选择 HTTP 请求延迟的指标,方法类型为 GET,URL 地址为 /api/users:

http_requests_latency_seconds{method="GET", path="/api/users"}

范围选择

选择一段时间范围内的数据,语法如下:

metric_name{label1="value1", label2="value2"}[duration]

其中,duration 可以是秒(s)、分钟(m)、小时(h)、天(d)、周(w)或年(y)。

例如,选择过去5分钟内 HTTP 请求延迟的指标:

http_requests_latency_seconds{method="GET", path="/api/users"}[5m]

聚合计算

对所选数据进行聚合计算。PromQL 支持多种聚合操作符,如 sum、count、avg、min、max 等。语法如下:

aggregate_op(metric_name{label1="value1", label2="value2"})

例如,计算过去 5 分钟内 HTTP 请求延迟的平均值:

avg(http_requests_latency_seconds{method="GET", path="/api/users"}[5m])

标签匹配

PromQL 支持使用 =、!= 以及正则表达式 =~ 和 !~ 进行标签匹配,语法如下:

metric_name{label=~"regexp"}

例如,选择所有处理器为 /graph 或 /rules 或 /metrics 的 HTTP 请求总数:

prometheus_http_requests_total{handler=~"/graph|/rules|/metrics"}

以上是 PromQL 的一些基本语法。PromQL 还支持更多的复杂查询和操作符,可以满足各种时间序列数据的查询需求,后续将详细介绍。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号