- 4种标签匹配模式
=等于!=不等于=~正则匹配!~正则非匹配
四种标签匹配模式
-
=等于- 例: cpu第一个核并且是用户态的数据 node_cpu_seconds_total{mode="user",cpu="0"}
- 查询: go_gc_duration_seconds{quantile="0.75"}

-
!=不等于- 例: 非lo网卡的接收字节数 node_network_receive_bytes_total{device!="lo"}
- 查询: prometheus_http_requests_total{code!="200"}

-
=~正则匹配- 例: 挂载点以/run开头的文件系统剩余字节数 node_filesystem_avail_bytes{mountpoint=~"^/run.*"}
- 查询: prometheus_http_requests_total{handler=~"/api.*"}

-
!~正则非匹配- 例: 块设备名字不包含vda的读字节数 node_disk_read_bytes_total{device!~".vda."}
- 查询: prometheus_http_requests_total{code!~".*00"}

-
__name__也是个标签,可以匹配metrics- 查询 {name=
"go.*",quantile=".0."} 等价于 go_gc_duration_seconds{quantile=~".0."}

- 查询 {name=
- 4种标签匹配模式
=等于!=不等于=~正则匹配!~正则非匹配- =,!=不需要正则,速度最快
- 4种可以自由组合
- 标签的key要明确给出
__name__也是个标签,可以匹配metrics- promql中查询没数据,大多是标签匹配的问题
评论区