从 DaemonSet 中的每个 Pod 抓取指标

Scraping metrics from every Pod in a DaemonSet

我们正在使用 https://github.com/fluent/fluentd-kubernetes-daemonset 在我们的 K8s 集群中部署 Fluentd。我们在集群中有 5 个节点,这意味着有 5 个 Fluentd pods.

DaemonSet 中的每个 Fluentd pod 通过 fluentd prometheus 插件在 localhost:24231/metrics 端点上公开 Prometheus 指标。我无法找到有关如何配置 Prometheus 以从每个 Pod 的 localhost:24321/metrics 端点收集这些指标的相关文档。

TL;DR

我需要配置 Prometheus,以便它能够以某种方式抓取这些指标。非常感谢任何有关如何解决此问题的提示或此类配置的示例!

我们案例中的解决方案是使用来自普罗米修斯操作员的 pod monitors CRD,podMetricEndpoints 指向正确的端口:

apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
  name: fluentd
spec:
  podMetricsEndpoints:
    - honorLabels: true
      interval: 15s
      path: /metrics
      targetPort: 24231
      scheme: http
  selector:
    matchLabels:
      app: fluentd