作者:可卡因 | 来源:互联网 | 2023-05-27 10:53
强烈建议使用 LogStash::Inputs::TCP 和 LogStash::Filters::Grok 配合实
现同样的 syslog 功能!
虽然 LogStash::Inputs::Syslog 在使用 TCPServer 的时候可以采用多线程处理数据
的接收,但是在同一个客户端数据的处理中,其 grok 和 date 是一直在该线程中完
成的,这会导致总体上的处理性能几何级的下降 —— 经过测试,TCPServer 每秒
可以接收 50000 条数据,而在同一线程中启用 grok 后每秒只能处理 5000 条,再
加上 date 只能达到 500 条!
才将这两步拆分到 filters 阶段后,logstash 支持对该阶段插件单独设置多线程运
行,大大提高了总体处理性能。在相同环境下, logstash -f tcp.conf -w 20
的测试中,总体处理性能可以达到每秒 30000 条数据!