kafka日志清理器在AWS MSK上记录任何东西吗?



我使用AWS MSK集群,将代理日志记录打开到CloudWatch。日志记录工作,我可以看到代理日志。我们有一些关于cleanup.policy=compactcleanup.policy=delete的话题。系统在新集群上运行了大约2周。

从我的研究(例如https://zendesk.engineering/an-investigation-into-kafka-log-compaction-5e520f4291f0)中,我看到kafka应该运行日志清理器(显然),并且应该在此活动的日志中有一些痕迹。然而,在我的CloudWatch日志组中,我找不到"清洁器"这个词。或";cleaned"我找不到任何日志清理器运行的痕迹。

日志清理器是否正在运行?显然应该这样做,但我在日志中找不到任何东西来确认这一点,而且我们有很多符合清理条件的消息,但仍然没有清理,大约两周了。

Kafka集群版本为2.8.1

很可能这些日志没有显示在MSK中,因为似乎默认情况下,它们不会从https://jaceklaskowski.gitbooks.io/apache-kafka/content/kafka-log-LogCleaner.html

进入主日志流。

请注意,Kafka自带一个预配置的Kafka .log. logcleaner记录器在config/log4j.properties:

log4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log
log4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender
log4j.additivity.kafka.log.LogCleaner=false

这意味着LogCleaner的日志将进入INFO日志级别的logs/log-cleaner.log文件,而不会添加到主日志中(每log4j. log)。可加性关闭)。

这有点误导,虽然因为LogCleaner负责压缩主题,我不确定在哪里记录(或在哪个日志级别,因为AWS MSK只导出INFO级日志)删除delete清理策略主题中的消息。

我会联系AWS支持,以了解是否有办法或知道他们如何处理这些日志。

或者,你可以尝试使用Prometheus设置开放监控,这将使Kafka将所有指标导出到JMX。如果启用,应该有一个度量(max-clean-time-sec),它至少会告诉您它是否正在运行,并且您可能会获得一些其他有趣的信息来解决您的问题。

最新更新