1. Kafka Monitoring

  • Kafka运行在Jvm,Kafka暴露expose的所有metric都可通过Jmx接口访问;

  • 外部监控系统使用监控系统提供的collection agent,并将其连接到Kafka进程;

  • 然后可通过各种监控工具包来废弃(scrappe)collection agent的metric;

  • 托管kakfa metric的常见地方:Elastic + Kibana,Datadog,
    NewRelic,Confluent Control Centre,Prometheus;

2. Kafka Metric

2.1. Under Replicated Partition

  • 在集群中的每个broker上都提供此metric,给出broker是leader replica的分区数,
    而follower replica没被捕获caught up,高数字可能表示系统的高负载;

2.2. OfflinePartitionsCount

  • offline(not good for availability)下的分区数;

2.3. Request Handler

  • 此度量为每个kafka broker提供IO、网络等线程利用率的信息;

2.4. Request Timing

  • 此指标提供回复请求所需的时间信息,越低越好,即延迟得到改善;

2.5. Active Controller Count

  • 集群中应该只有一个控制器,故其值应该始终为1;

3. Kafka Operation

  • Broker Rolling Restart

  • Updating Configuration

  • Rebalancing Partition

  • Increasing Replication Factor

  • Adding/Replacing/Removing Broker

  • Upgrading Kafka Cluster with Zero Downtime