7.4.2.3. 部署 Prometheus

要在 Kafka 集群中获取监控数据,您可以通过应用 Prometheus docker 镜像的示例安装资源文件以及 Prometheus 相关资源的 YAML 文件来使用您自己的 Prometheus 部署或部署 Prometheus 部署

部署过程创建一个 ClusterRoleBinding,并在为部署指定的命名空间中发现 Alertmanager 实例。

先决条件

流程

  1. 根据要安装到的命名空间 Prometheus 修改 Prometheus 安装文件(prometheus.yaml):

    在 Linux 中,使用:

    sed -i 's/namespace: .*/namespace: my-namespace/' prometheus.yaml

    在 MacOS 中,使用:

    sed -i '' 's/namespace: .*/namespace: my-namespace/' prometheus.yaml
  2. 编辑 PodMonitor 资源 in strimzi-pod-monitor.yaml,以定义 Prometheus 作业,它将从 pod 中提取指标数据。

    namespaceSelector.matchNames 属性更新为 pod 要从中提取指标的命名空间。

    PodMonitor 用于直接从 pod 中提取数据,用于 Apache Kafka、ZooKeeper、Operator、Kafka Bridge 和 Cruise Control。

  3. 编辑 prometheus.yaml 安装文件,使其包含用于直接从节点提取指标的额外配置。

    提供的 Grafana 仪表板显示 CPU、内存和磁盘卷使用情况的指标,它们直接来自节点上的 OpenShift cAdvisor 代理和 kubelet。

    1. 从配置文件(如 example /metrics/prometheus-additional-properties 目录中的 prometheus-additional.yaml )创建 Secret 资源:

      oc apply -f prometheus-additional.yaml
    2. 编辑 prometheus.yaml 文件中的 additionalScrapeConfigs 属性,使其包含 Secret 的名称和 prometheus-additional.yaml 文件。
  4. 部署 Prometheus 资源:

    oc apply -f strimzi-pod-monitor.yaml
    oc apply -f prometheus-rules.yaml
    oc apply -f prometheus.yaml