logstash异常日志收集


前言

在使用logstash进行日志处理时,发现经常会出现某一个topic消费异常的报错。Record is corrupt (stored crc = 2000910049, computed crc = 1912358942)}
在logstash出现这个报错后,相应的topic就会无法正常消费,kibana上也无法正常查询到相关时间点之后的日志,重启logstash后才会恢复异常。


一、处理方式

日志采集流程:

fluent-bit ——> kafka ——> logstash ——> es ——> kibana

处理方案:

通过网上调研,没有找到相应的处理方法。但是发现通过手动重启logstash就可以恢复对应的日志采集。但是总不能一直看logstash日志看有没有报错吧。

于是,便通过已有的方式采集logstash容器日志并通过日志告警插件进行告警。

二、详细配置

告警详情

如下:

[ERROR][logstash.inputs.kafka    ][main][cb3a80073c6ad1403c54fc6cdce0a1c7d4352eb8afa38e0ff9519c07e83e96ce] Unable to poll Kafka consumer {:kafka_error_message=>org.apache.kafka.common.KafkaException: Received exception when fetching the next record from {kafka-topic}-0. If needed, please seek past the record to continue consumption., :cause=>org.apache.kafka.common.KafkaException: Record batch for partition {kafka-topic}-0 at offset 9213518 is invalid, cause: Record is corrupt (stored crc = 1008539063, computed crc = 2600267767)}

fluent-bit配置

input配置如下:


[INPUT]
        Name           tail
        Tag            logstash_log
        Path           /var/log/containers/*logstash*.log
        Parser         logstash_parser
        Mem_Buf_Limit  10MB
 [FILTER]
        Name record_modifier
        Match logstash_log

output配置如下:

[OUTPUT]
        Name            kafka
        Match           logstash_log
        Brokers         kafka-headless.monitoring.svc.cluster.local:9092
        Timestamp_Key   logstash_local_time
        Tag_Key         logstash_log
        Include_Tag_Key On
        Topics          logstash_log

对应的parser配置如下:

[PARSER]
        Name   logstash_parser
        Format regex
        Regex  ^(.*) \[(?<logstash_local_time>[^\]]*)\]\[(?<level>[^\]]*)\]\[(?<org_log>[^\]]*)\]\[(?<main>[^\]]*)\]\[(?<key>[^\]]*)\] (?<messages>.+)$
        Time_Key logstash_local_time
        Time_Format %d/%b/%Y:%H:%M:%S %z

(fluent-bit本地debug调试可参考: fluent-bit本地dubug调试

至此,已能事实监控到logstash采集异常,但是没有真正处理问题。


尝试方案

发现是由于消费kafka上特定topic异常,怀疑是topic消息增加太快,导致消费速度跟不上。所以尝试将topic增加为3分区(原先只有partition 0)并持续观察消费情况以及logstash异常情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值