Kubernetes 普罗米修斯在GKE中未收到来自cadvisor的指标

Kubernetes 普罗米修斯在GKE中未收到来自cadvisor的指标,kubernetes,google-kubernetes-engine,prometheus,cadvisor,Kubernetes,Google Kubernetes Engine,Prometheus,Cadvisor,嗨 我在GKE v1.16.x中使用kubernetes部署了prometheus、grafana、kube state metrics、alertmanager等设置。我已经将其用作yaml文件的起点 几天来,我一直在尝试调试一种情况,非常感谢您的帮助。我的普罗米修斯节点没有从cadvisor获取指标 部署中的所有服务和POD都在运行。普罗米修斯,库伯状态度量,节点导出器,全部运行-无错误 普罗米修斯用户界面中的cadvisor目标显示为“向上” 普罗米修斯能够从集群收集其他指标,但没有吊舱

我在GKE v1.16.x中使用kubernetes部署了prometheus、grafana、kube state metrics、alertmanager等设置。我已经将其用作yaml文件的起点

几天来,我一直在尝试调试一种情况,非常感谢您的帮助。我的普罗米修斯节点没有从cadvisor获取指标

  • 部署中的所有服务和POD都在运行。普罗米修斯,库伯状态度量,节点导出器,全部运行-无错误
  • 普罗米修斯用户界面中的cadvisor目标显示为“向上”
  • 普罗米修斯能够从集群收集其他指标,但没有吊舱/容器级别的使用指标
  • 当我查询
    kubectl get--raw”/api/v1/nodes//proxy/metrics/cadvisor“
    时,我可以看到cadvisor指标,但当我在普罗米修斯中查找
    容器的cpu使用情况
    容器的内存使用情况
    时,没有数据
  • 我的cadvisor在普罗米修斯的工作配置
从普罗米修斯抄袭而来/文档/示例

我在路径和刮擦配置上尝试了一大堆不同的变化,但没有成功。基于我可以使用
kubectl get
(它们存在)查询度量的事实,在我看来,问题在于普罗米修斯与cadvisor目标进行通信

如果有人有配置这个的经验,我一定会感谢一些帮助调试


干杯

我找到了一个博客,上面有一个适合我的示例配置。cadvisor(和kubelet)指标的GKE端点与文档示例中的标准端点不同。以下是我在普罗米修斯工作的摘录:

    - job_name: kubernetes-cadvisor
      honor_timestamps: true
      scrape_interval: 15s
      scrape_timeout: 10s
      metrics_path: /metrics/cadvisor
      scheme: https
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      kubernetes_sd_configs:
      - role: node
      relabel_configs:
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
        - target_label: __address__
          replacement: kubernetes.default.svc.cluster.local:443
        - source_labels: [__meta_kubernetes_node_name]
          regex: (.+)
          target_label: __metrics_path__
          replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
    - job_name: kubernetes-kubelet
      honor_timestamps: true
      scrape_interval: 15s
      scrape_timeout: 10s
      metrics_path: /metrics
      scheme: https
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      kubernetes_sd_configs:
      - role: node
      relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - target_label: __address__
        replacement: kubernetes.default.svc.cluster.local:443
      - target_label: __metrics_path__
        source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        replacement: /api/v1/nodes/${1}/proxy/metrics

编辑:这里有一个博客帖子的链接->。

我找到了一个博客,其中有一个对我有用的示例配置。cadvisor(和kubelet)指标的GKE端点与文档示例中的标准端点不同。以下是我在普罗米修斯工作的摘录:

    - job_name: kubernetes-cadvisor
      honor_timestamps: true
      scrape_interval: 15s
      scrape_timeout: 10s
      metrics_path: /metrics/cadvisor
      scheme: https
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      kubernetes_sd_configs:
      - role: node
      relabel_configs:
        - action: labelmap
          regex: __meta_kubernetes_node_label_(.+)
        - target_label: __address__
          replacement: kubernetes.default.svc.cluster.local:443
        - source_labels: [__meta_kubernetes_node_name]
          regex: (.+)
          target_label: __metrics_path__
          replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
    - job_name: kubernetes-kubelet
      honor_timestamps: true
      scrape_interval: 15s
      scrape_timeout: 10s
      metrics_path: /metrics
      scheme: https
      bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      kubernetes_sd_configs:
      - role: node
      relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - target_label: __address__
        replacement: kubernetes.default.svc.cluster.local:443
      - target_label: __metrics_path__
        source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        replacement: /api/v1/nodes/${1}/proxy/metrics
编辑:这里有一个到博客帖子->的链接。

太令人沮丧了, 过去几天我一直在挖

问题始于gke master从1.15.12-gke.2升级到1.16.13-gke.401之后

为了证实这一点,在另一个gke集群中进行了同样的操作,结果是相同的

以上配置为403禁止

太令人沮丧了, 过去几天我一直在挖

问题始于gke master从1.15.12-gke.2升级到1.16.13-gke.401之后

为了证实这一点,在另一个gke集群中进行了同样的操作,结果是相同的

以上配置为403禁止


你好。你查过普罗米修斯吊舱的日志了吗?是否有任何警告可以说明您无法获取cadvisor指标的原因?感谢@DawidKruk的提醒。几天前我发现了一篇帮助我解决问题的博客文章。刚刚发布了答案。你好。你查过普罗米修斯吊舱的日志了吗?是否有任何警告可以说明您无法获取cadvisor指标的原因?感谢@DawidKruk的提醒。几天前我发现了一篇帮助我解决问题的博客文章。刚刚发布了一个答案。你能链接这篇博文吗?为我工作!谢谢你能链接这篇博文吗?为我工作!谢谢嘿,我也被困在同一个问题上-KMS,节点导出器,链接器工作。从昨天开始,我部署了Cadvisor并添加了您的配置,但现在我在仪表板中不断收到此错误
服务器返回HTTP状态403 Forbidded
您找到了任何解决方案吗?嘿,我也遇到了同样的问题-KMS、节点导出器、linkerd正在工作。从昨天开始,我部署了Cadvisor并添加了您的配置,但现在我在仪表板
服务器返回HTTP状态403 Forbidded
中不断收到此错误,您找到了解决方案吗?