之前有介绍GrayLog两个平台之间如何级联
利用GrayLog的output功能实现简单的GrayLog分布式级联
但需要将GrayLog接入的设备日志全部转发到第三方日志这种场景如何解决?
结合下面的文章找到了解决方法
https://blog.csdn.net/weixin_43334786/article/details/108859134
https://blog.csdn.net/a150791038/article/details/124346888
解决方案简单架构如下图所示
(图片点击放大查看)
https://mirrors.cloud.tencent.com/elasticstack/7.x/yum/7.10.2/logstash-7.10.2-x86_64.rpm
https://github.com/logstash-plugins/logstash-output-syslog
找一台CentOS7的服务器安装logstash
并安装logstash-output-syslog插件以及logstash-input-gelf(自带,无需单独下载插件)
rpm -ivh logstash-7.10.2-x86_64.rpm
unzip logstash-output-syslog.zip
cd /usr/share/logstash/
cp -rf /root/logstash-output-syslog ./
vim Gemfile
最后一行加入如下内容
gem "logstash-output-syslog", :path => "/usr/share/logstash/logstash-output-syslog"
/usr/share/logstash/bin/logstash-plugin install logstash-output-syslog
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
这个install logstash-input-gelf不要忘了安装
/usr/share/logstash/bin/logstash-plugin install logstash-input-gelf
/usr/share/logstash/bin/logstash-plugin list
检查logstash-output-syslog是否有了
(图片点击放大查看)
(图片点击放大查看)
修改logstash.conf配置文件
cd /etc/logstash/
mv logstash-sample.conf conf.d/logstash.conf
cd conf.d/
vi logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
gelf {
host => "192.168.31.175"
port => "12201"
}
}
output {
syslog {
host => "192.168.31.230"
port => "22201"
}
}
(图片点击放大查看)
systemctl enable logstash.service
systemctl start logstash.service
tail -f /var/log/logstash/logstash-plain.log
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
触发设备日志,在第三方日志平台上确认是否logstash转发过来的日志
(图片点击放大查看)
如上图,第三方日志平台已经成功收到日志
(说明:我这里用GrayLog平台模拟第三方日志平台)
https://docs.nxlog.co/ce/current/index.html#xm_gelf
通过测试发现此路不通
原因:CE版本只支持gelf的output类型,不支持gelf的input类型
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
建议系统时间先用NTP服务器进行校时
本文分享自 WalkingCloud 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!