我正在尝试设置中央 logstash 配置。但是,我想通过 syslog-ng 而不是第三方托运人发送我的日志。这意味着我的 logstash 服务器正在通过 syslog-ng 接受来自代理的所有日志。
然后我需要安装一个 logstash 进程,该进程将从 /var/log/syslog-clients/* 读取并获取发送到中央日志服务器的所有日志文件。然后这些日志将被发送到同一 VM 上的 redis。
从理论上讲,我还需要配置第二个logstash 进程,该进程将从redis 读取并开始索引日志并将它们发送到elasticsearch。
我的问题:
即使我在同一个盒子里(我想要一个日志服务器实例),我是否必须使用两个不同的 logstash 进程(发货方和服务器)?有没有办法只拥有一个logstash配置并让进程从syslog-ng读取--->写入redis并从redis读取--->输出到弹性搜索?
我的设置图:
[客户端]-------syslog-ng---> [日志服务器] ---syslog-ng <----logstash-shipper ---> redis <----logstash-server -- --> 弹性搜索 <--- kibana