【问题标题】:How to configure a prometheus target for kubelet metrics如何为 kubelet 指标配置 prometheus 目标
【发布时间】:2020-09-25 08:27:45
【问题描述】:

我想在 Grafana 中绘制一些 pod 的就绪/活跃度探测指标。目前,我在集群中部署 prometheus 的方式是:

helm install prometheus stable/prometheus -n prometheus

我可以通过 prometheus UI 查看所有标准指标,但我正在尝试弄清楚如何获取探针指标。显然 kubelet 在/metrics/probes 中公开了这些指标,但我不知道如何配置它们。此外,我注意到显然“标准”指标是从 /metrics/ 路径上的 kubernetes api-server 获取的,但到目前为止我还没有配置任何路径或任何配置文件(我只是运行上面的命令来安装 prometheus )。我假设这个 /metrics/ 路径在 helm chart repo 的某个地方被硬编码,但是由于我想获取 kubelets 的指标,这可能会更棘手,因为我的理解是他的 api-server 位于主 k8s 节点中,而 kubelet 只在工作节点上运行(所以我不知道 /metrics/probes 路径指向哪里)。

【问题讨论】:

    标签: kubernetes prometheus kubernetes-helm


    【解决方案1】:

    使用Prometheus Operator 并创建ServiceMonitor,您可以在其中指定端点、kubelet 或任何其他组件公开的端口。 Prometheus 将开始抓取端点以获取指标。

    apiVersion: monitoring.coreos.com/v1
    kind: ServiceMonitor
    metadata:
      name: kubelet
      labels:
        k8s-app: kubelet
    spec:
      jobLabel: k8s-app
      endpoints:
      - port: https-metrics
        scheme: https
        interval: 30s
        tlsConfig:
          insecureSkipVerify: true
        bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      - port: https-metrics
        scheme: https
        path: /metrics/cadvisor
        interval: 30s
        honorLabels: true
        tlsConfig:
          insecureSkipVerify: true
        bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
      selector:
        matchLabels:
          k8s-app: kubelet
      namespaceSelector:
        matchNames:
        - kube-system
    

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 2020-02-12
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 2021-08-20
      • 2021-01-21
      相关资源
      最近更新 更多