SuperAPI AI 工具集

kafka-observability

部署与运维

查看项目

更新于 10-15 19:56

技能介绍

该技能用于帮助搭建 Apache Kafka 的监控与可观测性体系,核心组件为 Prometheus 与 Grafana,配合 JMX Exporter 采集 Kafka 指标。

用途:适用于需要设置 Kafka 监控、配置 Prometheus、制作 Grafana 仪表盘、导出 Kafka JMX 指标、编写告警规则,以及排查消费者延迟与 broker 健康问题的场景。

主要能力:提供完整监控栈,包括 Prometheus JMX Exporter 配置(plugins/specweave-kafka/monitoring/prometheus/kafka-jmx-exporter.yml),可导出 broker topic 指标、副本管理器指标(如 under-replicated partitions、ISR 变化)、控制器指标(活跃控制器、离线分区、leader 选举)、请求延迟、日志刷盘与 JVM 指标。提供 5 个 Grafana 仪表盘:集群总览、broker 指标、消费者延迟、topic 指标、JVM 指标,并附 Grafana provisioning 配置。

使用方式:

  1. 自托管 Kafka:下载 JMX Prometheus Agent,通过 KAFKA_OPTS 加入 -javaagent 参数,暴露 7071 端口,在 prometheus.yml 增加 scrape job,再重启或 reload。
  2. Kubernetes + Strimzi:创建 metrics ConfigMap,在 Kafka CR 中配置 metricsConfig(jmxPrometheusExporter),安装 kube-prometheus-stack,创建 PodMonitor。
  3. Grafana:Docker Compose 或 Kubernetes 挂载 provisioning 目录和仪表盘,或用 API 手动导入 JSON。
  4. 告警:通过 PrometheusRule 定义关键告警,如 under-replicated partitions、offline partitions、无活跃控制器、消费者延迟过高、CPU 与堆内存过高、GC 时间过长。

限制:消费者延迟指标需额外部署 Kafka Exporter,JMX Exporter 本身不提供;仪表盘默认使用 job="kafka",若 job 名不同需修改查询;具体版本、镜像与安装命令均以资料为准。