嘿嘿,
我在 GKE v1.16.x 中使用 kubernetes 部署了 prometheus、grafana、kube-state-metrics、alertmanager 等设置。我使用https://github.com/do-community/doks-monitoring作为 yaml 文件的起点。
几天来,我一直在尝试调试情况,非常感谢您的帮助。我的普罗米修斯节点没有从 cadvisor 获得指标。
- 部署中的所有服务和 Pod 都在运行。prometheus、kube-state-metrics、node-exporter,都在运行——没有错误。
- prometheus UI 中的 cadvisor 目标显示为“向上”。
- Prometheus 能够从集群中收集其他指标,但没有 pod/容器级别的使用指标。
- 我查询时可以看到 cadvisor 指标
kubectl get --raw "/api/v1/nodes/<your_node>/proxy/metrics/cadvisor"
,但是当我在 prometheus 中查找container_cpu_usage
orcontainer_memory_usage
时,没有数据。 - 我在普罗米修斯中的 cadvisor 刮作业配置
- 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_(.+)
抄自 prometheus/docs/examples。
我在路径和抓取配置上尝试了一大堆不同的变体,但没有运气。基于我可以使用kubectl get
(它们存在)查询指标的事实,在我看来问题是普罗米修斯与 cadvisor 目标进行通信。
如果有人有配置此配置的经验,我肯定会感谢一些调试帮助。
干杯