logstash配置文件优化建议

版本临近发布时,测试测出logstash资源占用过高,在3000/S的日志量下,cpu达到90%以上,需要优化。

经过验证整理,提出以下几个优化建议:

1.关闭调试模式

# stdout { codec => rubydebug }

把这段注释掉

2.优化grok的匹配流程

由于grok默认的匹配顺序是由上到下,所以会存在某条日志需要匹配多条正则才会命中的情况,甚至不会命中的日志也会匹配所有正则,及其消耗cpu。建议加入条件判断精准匹配正则,message就是每条日志的原始信息。

例如:

if "XXX" in [message] {
				grok {
					match => [
						#XXX
					]
				}
}	
else if "YYY" in [message] {
				grok {
					match => [
						#YYY
					]
				}
}
else {
			    grok {
					match => [
						#ZZZ
					]
			    }
}

3.及时过滤不需要的日志

if "XXX" in [message] {
        drop{}
}

4.移除不需要的字段和标签

mutate {
        remove_field =>  ["XX","YY"]
        remove_tag => ["beats_input_codec_plain_applied"]
    }


版权声明:本文为hello_yaoyyyy原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。