1.Kafka监控方案简介

前面我们已经在k8s上使用incubator/kafka chart部署了Kafka。本篇来聊聊kafka的管理和监控。 关于kafka的监控方案有很多:

  • Confluent Control Center是Confluent Kafka提供的监控和管理方案,但Confluent Control Center只能在CP Kafka收费的企业版中使用。
  • Kafka Offset Monitor是开源的监控方案,如果监控单个Kafka集群可以选择Kafka Offset Monitor,但从Kafka Offset Monitor的源码来看已经很久没有维护了
  • Prometheus + kafka-prometheus-jmx-exporter的监控方案,这个也是incubator/kafka中支持的监控方案,默认使用helm部署kafka是没有开启,可通过prometheus.kafka.enabled开启,这里先不开启,准备在之后的内容中介绍Prometheus + kafka-prometheus-jmx-exporter
  • Kafka Manager可以用来管理和监控多个Kafka集群,本篇将介绍Kafka Manager。

2.使用Helm部署Kafka Manager

Helm的官方repo中已经提供了Kafka Manager的Chart

创建kafka-manager-values.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
image:
  repository: zenko/kafka-manager
  tag: 1.3.3.22
zkHosts: kafka-zookeeper:2181
basicAuth:
  enabled: true
  username: admin
  password: admin
ingress:
  enabled: true
  hosts: 
   - kafka.frognew.com
  tls:
    - secretName: frognew-com-tls-secret
      hosts:
      - kafka.frognew.com

使用helm部署kafka-manager:

1
helm install --name kafka-manager --namespace kafka -f kafka-manager-values.yaml stable/kafka-manager

安装完成后,确认kafka-manager的Pod已经正常启动:

1
2
3
kubectl get pod -n kafka -l app=kafka-manager
NAME                             READY   STATUS    RESTARTS   AGE
kafka-manager-5d974b7844-bl7k4   1/1     Running   0          5m47s

使用https://kafka.frognew.com打开kafka-manager的页面,将我们之前在k8s上部署的kafka集群以名称为test,并配置Cluster Zookeeper Hostskafka-zookeeper:2181,即可将前面部署的kafka集群纳入kafka-manager管理当中。

kafka-manager

参考