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
sed -i 's/namespace: .*/namespace: my-namespace/' prometheus.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在 MacOS 中,使用:
sed -i '' 's/namespace: .*/namespace: my-namespace/' prometheus.yaml
sed -i '' 's/namespace: .*/namespace: my-namespace/' prometheus.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
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
oc apply -f prometheus-additional.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
编辑
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
oc apply -f strimzi-pod-monitor.yaml oc apply -f prometheus-rules.yaml oc apply -f prometheus.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow