概述
本文主要是展示将logstash作为rsyslog服务器,并收集远程的rsyslog日志。
本文阅读的基础建立在:
* 了解rsyslog服务器,或者阅读rsyslog日志服务器-日志写入远端rsyslog服务器
* 对ELK有初步的了解,并有体验过ELK进行日志收集,或者阅读ELK:环境搭建&初体验
测试环境
2个CentOS7系统:
- ELK服务器
- rsyslog客户端
实战
logstash配置文件
logstash的配置文件(logstash.conf.rsyslog)如下
input {
tcp {
port => 514
type => syslog
}
udp {
port => 514
type => syslog
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { }
}
配置文件说明:
输入
- 设置监听TCP/UDP的514端口,类型是rsyslog。
- 这样配置后logstash服务启动时将会作为1个rsyslog服务器接收来自其他rsyslog的日志。
输出:
- 将日志输出到本地的elasticsearch,
- 同时,将收到的日志打印到标准输出。
备注:
此处的tcp、udp端口只能设置为514,亲身测试过其他端口,存在问题,原因目前未知。
启动ELK
禁用rsyslog服务器
由于logstach配置了监听514端口,所以要确保改端口未被占用,所以需要禁用rsyslog服务器。
netstat -ano | grep 514查看514端口是否被占用service rsyslog stop停止rsyslog服务器启动elastaticsearch。参考启动elastaticsearch
- 启动logstash:
bin/logstash -f [your_path]/logstash.conf.rsyslog。参考启动logstash - 启动kibana。参考启动kibana
设置rsyslog客户端
在用来做rsyslog客户端的系统中,将rsyslog服务器设置为[ELK_IP]:514
详细参考rsyslog相关配置rsyslog client端配置。
验证
在rsyslog客户端,执行如下命令logger -p info "hello, remote rsyslog"
便可以看到在logstash的标准输出中便可以看到”hello, remote rsyslog”.
在kibana中也可以看到对应的日志。
至此,ELK作为rsyslog服务端收集rsyslog日志的实战完成了。
本文介绍了如何配置Logstash作为rsyslog服务器,从远程客户端收集日志。首先,需要了解rsyslog和ELK基础。接着,在测试环境中设置ELK服务器和rsyslog客户端。在logstash配置文件中,设置监听514端口接收日志,并将日志输出到Elasticsearch和标准输出。然后,禁用rsyslog服务器,启动ELK组件。在客户端配置rsyslog发送日志到Logstash。最后,通过命令验证日志收集成功,并在Kibana中查看日志。
2304

被折叠的 条评论
为什么被折叠?



