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 还支持更多的复杂查询和操作符,可以满足各种时间序列数据的查询需求,后续将详细介绍。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号