0

我有一个部署了 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
4

1 回答 1

0

Cadvisor 只知道容器通过与 CRI 插件相同的底层系统运行。我猜这不再是这种情况,因为我在那里看到了关于 systemd 和 rkt 的东西?

于 2020-04-13T09:25:59.110 回答