Lio*_*ber 5 apache-kafka kafka-consumer-api apache-kafka-streams
当 kafka-streams 应用程序正在运行并且 Kafka 突然关闭时,应用程序进入“等待”模式,向其发送警告日志的消费者和生产者线程无法连接,当 Kafka 回来时,一切都应该(理论上)进行恢复正常。我正在尝试获取有关这种情况的警报,但无法找到捕获该情况并发送日志/指标的位置。我尝试了以下方法:
streams.setUncaughtExceptionHandler但这仅发生在异常情况下,但这里不是这种情况ProductionExceptionHandler并更改default.production.exception.handler我的类的属性,以扩展此接口。再说一次,因为setUncaughtExceptionHandler这里没有抛出异常,所以什么也没有发生。我知道 Kafka 有自己的指标,我可以监听这些指标并发现 Broker 是否出现故障。但在某些情况下,Kafka 代理很好,而我的 kafka-streams 应用程序无法连接(即错误的身份验证配置或 vpn/vpc 问题)
我该怎么做才能发现这些问题并记录/报告它们?
更新
如果 kafka 不可用,请查看消费者/生产者日志:
2020-08-24 21:41:32,055 [my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-StreamThread-1] WARN o.apache.kafka.clients.NetworkClient - [] [Consumer clientId=my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-StreamThread-1-consumer, groupId=my-kafka-streams-app] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
2020-08-24 21:41:32,186 [kafka-admin-client-thread | my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-admin] WARN o.apache.kafka.clients.NetworkClient - [] [AdminClient clientId=my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-admin] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2020-08-24 21:41:32,250 [kafka-producer-network-thread | my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-StreamThread-1-producer] WARN o.apache.kafka.clients.NetworkClient - [] [Producer clientId=my-kafka-streams-app-23a462fe-28c6-415a-a08a-b11d3ffffc2e-StreamThread-1-producer] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
Run Code Online (Sandbox Code Playgroud)
这种情况不容易以编程方式检测到。问题是,客户端并没有真正将其状态暴露给 Kafka Streams,因此 Kafka Streams 并不真正了解断开连接。有KIP提出添加DISCONNECT状态,但实现起来并不容易(参见https://cwiki.apache.org/confluence/display/KAFKA/KIP-457%3A+Add+DISCONNECTED+status+to+Kafka+流)。
您提到的异常处理程序对这种情况没有帮助,因为没有抛出异常(至少在 Kafka Streams 代码库中没有)。
您可以尝试监控消费者延迟或一些 Kafka Streams 指标(例如处理速率)。他们可能会提供足够好的代理。参见https://docs.confluence.io/current/streams/monitoring.html
| 归档时间: |
|
| 查看次数: |
1811 次 |
| 最近记录: |