我正在构建一个日志分析服务,主要开始监控我们的 pfSense 防火墙、XenServer 虚拟机管理程序、FreeBSD/Linux 服务器和 Windows 服务器。
互联网上有很多关于 ELK 堆栈以及如何使其正常工作的文档。但我想以不同的方式使用它,但我不知道这是否是一个好的解决方案,还是只是浪费时间/磁盘空间。
我已经有一台 FreeBSD 10.2 机器充当远程系统日志服务器,我的想法是简单地将所有日志集中在这台机器上,然后系统日志服务器将日志转发logstash-forwarder
到 ELK 服务器。
对我来说,很明显这种方法会增加此设置的磁盘要求,但另一方面,我将只有一台logstash-forwarder
安装了守护进程的机器,这对我来说似乎很好。
但说到问题。logstash
解析器与发送日志消息的服务器的主机名匹配[host]
,在这种方法中,只有远程系统日志服务器 ELK 上显示“服务器”。
我知道我可以自定义logstash
配置文件上的设置,但我不知道(而且我也没有经验)这是否只是对解析器的一个简单设置,是否会损害整个 ELK 体验。
最后,我只是想得到一些关于我的日志架构的建议,以及它是否可行,或者我是否应该放弃其他选择。
提前致谢,
答案1
是的。可以使用过滤器轻松更改host
logstash 输出中的字段。ruby
ruby {
code => "
event['host'] = event['message'].split(' ')[3]
"
}
这里我假设在 syslog 服务器日志中,主机字段是第四个字段,其中空格是分隔符。