本节重点介绍 : prometheus 四种标签匹配模式

  • 4种查询类型
  • = 等于
  • != 不等于
  • =~ 正则匹配
  • !~ 正则非匹配

四种标签匹配模式

  1. = 等于
  • 查询举例: cpu第一个核并且是用户态的数据 node_cpu_seconds_total{mode=“user”,cpu=“0”}
  • 查询举例: go_gc_duration_seconds{quantile=“0.75”}
  1. != 不等于
  • 查询举例: 非lo网卡的接收字节数 node_network_receive_bytes_total{device!=“lo”}
  • 查询举例:
  1. =~ 正则匹配
  • 查询: 挂载点以/run开头的文件系统剩余字节数 node_filesystem_avail_bytes{mountpoint=~“^/run.*”}
  • 查询: prometheus_http_requests_total{handler=~“/api.*”}
  1. !~ 正则非匹配
  • 查询: 块设备名字不包含vda的读字节数 node_disk_read_bytes_total{device!~“.vda.”}
  • 查询: prometheus_http_requests_total{code!~“.*00”}
  1. __name__ 也是个标签,可以匹配metrics
  • 查询 {name=“go.*”,quantile=“.0.”} 等价于 go_gc_duration_seconds{quantile=~“.0.”}

本节重点介绍 : prometheus 四种标签匹配模式

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