【问题标题】:PromQL metric query returning other metrics than what I wantPromQL 指标查询返回的指标不是我想要的
【发布时间】:2018-12-12 17:45:33
【问题描述】:

我肯定还不懂 PromQL,但我读到的所有内容都说这个查询应该可以正常工作:

node_cpu

真的很简单吧?我的指标的名称,我确实在我的结果集中得到了它们。

node_cpu{app="prometheus",chart="prometheus-6.2.1",component="node-exporter",cpu="cpu0",heritage="Tiller",instance="10.85.166.16:9100" ,io_cattle_field_appId="prometheus",job="kubernetes-service-endpoints",kubernetes_name="prometheus-node-exporter",kubernetes_namespace="prometheus",mode="guest_nice",release="prometheus"} 0 node_cpu{app="prometheus",chart="prometheus-6.2.1",component="node-exporter",cpu="cpu0",heritage="Tiller",instance="10.85.166.16:9100",io_cattle_field_appId= "prometheus",job="kubernetes-service-endpoints",kubernetes_name="prometheus-node-exporter",kubernetes_namespace="prometheus",mode="idle",release="prometheus"} 1784679.96

node_cpu{app="prometheus",chart="prometheus-6.2.1",component="node-exporter",cpu="cpu0",heritage="Tiller",instance="10.85.166.16:9100" ,io_cattle_field_appId="prometheus",job="kubernetes-service-endpoints",kubernetes_name="prometheus-node-exporter",kubernetes_namespace="prometheus",mode="iowait",release="prometheus"} 2897.73

但我也得到了大量其他不需要的指标:

kubelet_runtime_operations_latency_microseconds_count{beta_kubernetes_io_arch="amd64",beta_kubernetes_io_os="linux",instance="la-1pk8s-w4",job="kubernetes-nodes",kubernetes_io_hostname="la-1pk8s-w4",node_role_kubernetes_io_worker="true" ,operation_type="image_status"}

container_start_time_seconds{beta_kubernetes_io_arch="amd64",beta_kubernetes_io_os="linux",id="/docker/8effa9b35affbf17118e7cc83a586d70da9fa960097ab717076c7251bf4eb324",image="rancher/rke-instance:v0.1.13", job="kubernetes-nodes-cadvisor",kubernetes_io_hostname="la-1pk8s-w2",name="rke-log-linker-nginx-proxy",node_role_kubernetes_io_worker="true"}

storage_operation_duration_seconds_bucket{beta_kubernetes_io_arch="amd64",beta_kubernetes_io_os="linux",instance="la-1pk8s-w4",job="kubernetes-nodes",kubernetes_io_hostname="la-1pk8s-w4",le="0.1" ,node_role_kubernetes_io_worker="true",operation_name="volume_unmount",volume_plugin="kubernetes.io/configmap"}

不知道他们为什么在那里,奇怪。所以我想我会根据标签 component="node-exporter" 进行过滤,因为该标签只存在于我想要的指标中。

node_cpu{component="node-exporter"} 产生相同的结果集。

node_cpu{component=~"node-exporter"} 产生相同的结果集。

为什么我不能只获取所有 node_cpu 指标,为什么过滤不起作用?谢谢。

【问题讨论】:

  • 您在哪里运行查询 node_cpu ?在 /graph 页面的 prometheus 服务器中?
  • {__name__="node_cpu"}返回的结果是什么
  • @yamenk - 我得到相同的随机指标列表以及 node_cpu 条目。
  • @Oliver - 在图表页面上。

标签: kubernetes prometheus promql


【解决方案1】:

这可能是 2.3.0 中修复的错误,或者您的 remote_read 返回了不想要的结果。

【讨论】:

  • 我确实有一个指向 InfluxDB 的远程读取和远程写入。这仅用于将指标从 Prometheus 导出到 InfluxDB。我将几个 Prometheus 指标集群聚合到一个 InfluxDB 实例。
  • 如果我只想导出,是否需要远程读取和远程写入?我见过的每个配置示例都有。
  • 我删除了远程读取,返回的指标没有改变。 Prometheus 是否存储远程读取的结果?
猜你喜欢
  • 2021-11-13
  • 2022-08-14
  • 2022-08-09
  • 2022-11-03
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 2021-01-24
相关资源
最近更新 更多