# 监控 Kafka
主要从三个纬度
* Kafka 主机
* JVM
* Kafka 集群你
## 主机
主机监控:监控 Broker 所在的节点机器的性能
指标
* 机器负载(load)
* CPU 使用率
* 内存使用率,包括空闲内存(Free memory)、已用内存(Used memory)
* 磁盘 IO 使用率,包括读使用率、写使用率
* 网络 IO 使用率
* TCP 连接数
* 打开文件数
* inode
## JVM
* Broker 进程的堆大小(HeapSize)
* GC
* Minor GC、Full GC 的频率和时长
* 活跃对象的大小
* JVM 上应用线程的大致总数
* 一定要较空 Broker GC 日志,即以 kafkaServer-gc.log 开头的文件
## 集群监控
* Broker 进程是否启动,端口是否建立
* Broker 端关键日志
* Broker 端关键线程的运行状态
* 最重要的两类线程
* Log Compaction 线程
* 副本拉取消息的线程
* Broker 端关键 JMX 指标
* BytesIn/BytesOut:Broker 每秒入出的字节数
* NetworkProcessorAvgIdlePercent:网络线程池平均的空闲比例
* 确保 > 30%
* UnderReplicatedPartitions:未充分备份的分区数
* ISRShrink / ISRExpand:ISR 收缩、扩容的频次指标
* ActiveControllerCount:当前处于激活状态的控制器的数量
## 客户端
* 网络往返时延(Round-Trip Time,i.e. RTT)
* 客户端机器上 ping Broker IP,查看 RTT 值
* kafka-producer-network-thread 线程:负责实际发送消息
* kafka-coordinator-heartbeat-thread:心跳线程,事关 Rebalance
* Producer 角度
* request-latency:消息生产请求的延时,直接表征 Producer TPS
* Consumer 角度
* records-lag
* records-lead
* Consumer Group
* join rate
* sync rate
* 这两个指标均表明了 Rebalance 的频繁程度
- 概览
- 入门
- 1. 消息引擎系统
- 2. Kafka 术语
- 3. 分布式流处理平台
- 4. Kafka “发行版”
- 5. Kafka 版本号
- 基本使用
- 6. 生产集群部署
- 7. 集群参数配置
- 客户端实践与原理
- 9. Consumer 分区机制
- 10. Consumer 压缩算法
- 11. 无消息丢失配置
- 12. 客户端高级功能
- 13. Producer 管理 TCP
- 14. 幂等生产者和事务生产者
- 15. 消费者组
- 16. 位移主题
- 17. 消费者组重平衡(TODO)
- 18. 位移提交
- 19. CommitFailedException
- 20. 多线程开发者实例
- 21. Consumer 管理 TCP
- 22. 消费者组消费进度监控
- Kafka 内核
- 23. 副本机制
- 24. 请求处理
- 25. Rebalance 全流程
- 26. Kafka 控制器
- 27. 高水位和 Leader Epoch
- 管理与监控
- 28. Topic 管理
- 29. Kafka 动态配置
- 30. 重设消费者组位移
- 31. 工具脚本
- 32. KafkaAdminClient
- 33. 认证机制
- 34. 云下授权
- 35. 跨集群备份 MirrorMaker
- 36. 监控 Kafka
- 37. Kafka 监控框架
- 38. 调优 Kafka
- 39. 实时日志流处理平台
- 流处理
- 40. Kafka Streams
- 41. Kafka Streams DSL
- 42. Kafka Streams 金融
- Q&A