我有一个部署了 k8s v1.16.2 的虚拟机,并且在它之上运行了 prometheus 和 grafana 服务。在 grafana 仪表板上,我能够看到所有容器和 Pod 的性能指标,但对于系统服务只有 docker 和 kubelet,为什么它不显示直接在机器上运行的其他服务指标。
默认情况下,kubelet 是否有任何配置设置为 cadvisor 来限制收集系统服务指标..? 因为使用 kubelet v1.13.1 版本,我能够看到系统服务指标。
如何通过 kubelet 的 cadvisor 获取在 system.slice 下运行的所有服务指标..?
通过验证:
- 直接命中 Prometheus 端点。
- 直接尝试了cadvisor端点(k8s暴露端点):/api/v1/nodes/HOSTNAME/proxy/metrics/cadvisor
在两个端点结果上,除了 docker 和 kubelet 之外,我没有看到任何系统服务指标
版本:
- 码头工人:18.09.6,
- Kubelet:v1.16.2,
- CGroup 驱动程序:systemd
下面是 Prometheus 配置:
metric_relabel_configs:
- source_labels: [id]
separator: ;
regex: ^/machine\.slice/machine-rkt\\x2d([^\\]+)\\.+/([^/]+)\.service$
target_label: rkt_container_name
replacement: ${2}-${1}
action: replace
- source_labels: [id]
separator: ;
regex: ^/system\.slice/(.+)\.service$
target_label: systemd_service_name
replacement: ${1}
action: replace