7.4.2.3. 部署 Prometheus
要在 Kafka 集群中获取监控数据,您可以通过应用 Prometheus docker 镜像的示例安装资源文件以及 Prometheus 相关资源的 YAML 文件来使用您自己的 Prometheus 部署或部署 Prometheus 部署。
部署过程创建一个 ClusterRoleBinding
,并在为部署指定的命名空间中发现 Alertmanager 实例。
先决条件
- 检查 提供的示例警报规则
流程
根据要安装到的命名空间 Prometheus 修改 Prometheus 安装文件(
prometheus.yaml
):在 Linux 中,使用:
sed -i 's/namespace: .*/namespace: my-namespace/' prometheus.yaml
在 MacOS 中,使用:
sed -i '' 's/namespace: .*/namespace: my-namespace/' prometheus.yaml
编辑
PodMonitor
资源 instrimzi-pod-monitor.yaml
,以定义 Prometheus 作业,它将从 pod 中提取指标数据。将
namespaceSelector.matchNames
属性更新为 pod 要从中提取指标的命名空间。PodMonitor
用于直接从 pod 中提取数据,用于 Apache Kafka、ZooKeeper、Operator、Kafka Bridge 和 Cruise Control。编辑
prometheus.yaml
安装文件,使其包含用于直接从节点提取指标的额外配置。提供的 Grafana 仪表板显示 CPU、内存和磁盘卷使用情况的指标,它们直接来自节点上的 OpenShift cAdvisor 代理和 kubelet。
从配置文件(如 example
/metrics/prometheus
)创建-additional-properties 目录中的 prometheus-additional
.yamlSecret
资源:oc apply -f prometheus-additional.yaml
-
编辑
prometheus.yaml
文件中的additionalScrapeConfigs
属性,使其包含Secret
的名称和prometheus-additional.yaml
文件。
部署 Prometheus 资源:
oc apply -f strimzi-pod-monitor.yaml oc apply -f prometheus-rules.yaml oc apply -f prometheus.yaml