Professional Documents
Culture Documents
Kafka Monitoring: Ivan Turčinović
Kafka Monitoring: Ivan Turčinović
Kafka Monitoring: Ivan Turčinović
Ivan Turčinović
ivan.turcinovic@inovatrend.com
Kafka ecosystem
KafkaProducer KafkaProducer ... KafkaProducer
Streaming app
2
KafkaConsumer KafkaConsumer ... KafkaConsumer
Kafka Monitoring
• Why
• Troubleshooting
• Identifying potential problems
• Optimize performance
• What
• Logs
• Kafka logs
• System logs
• System resource utilization
• Kafka JMX metrics
3
Demo monitoring setup
jmxtrans
Graphite
Grafana
4
Broker Metrics
5
Broker Performance Metrics
Produce/Fetch Requests
Request Queue
Network Threads
IO Threads
Other brokers
6
Broker Performance Metrics
Network Threads
IO Threads
Other brokers
7
Request Remote Time
Broker Performance Metrics
Total Time:
• kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce
• kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer
• kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower
Break Down Times:
• RequestQueueTimeMs
• ResponseSendTimeMs
• ResponseQueueTimeMs
• LocalTimeMs
• RemoteTimeMs
Thread Pools:
• kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdle
8
Percent
• kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent
Producer Metrics
9
Consumer Metrics
10
Consumer Lag Monitoring
• kafka-consumer-groups command
• LinkedIn Burrow
• https://github.com/linkedin/Burrow
• Remora
• https://github.com/zalando-incubator/remora
11
Confluent Control Center
12
Thank You!
13