6、GrayLog配置SyslogInput接收
firewall-cmd --zone=public --add-port=1514/udp –permanent
防火墙上配置日志服务器,测试日志接收,并查询日志
-三、安装Nxlog实现编码转换
可能网络设备发送过来的日志编码非UTF-8编码,在GrayLogServer上呈现出中文乱码的情况
针对这种情况可以借助nxlog实现转换为UTF-8编码,解决中文乱码问题
具体原理(Nxlog也安装GrayLogServer这台服务器上)
rpm -ivh nxlog-ce-2.11.2190-1_rhel7.x86_64.rpm 会提示缺少依赖包 yum localinstall nxlog-ce-2.11.2190-1_rhel7.x86_64.rpm
1、前端网络设备先发到nxlog的1513端口,nxlog开放UDP 1513用于接收
2、nxlog配置文件修改,进行编码转换,转换成UTF-8编码
3、再发送GrayLog的UDP 1514端口
cp /etc/nxlog.conf /etc/nxlog.conf_bak vim /etc/nxlog.conf 配置文件中主要段如下 <Extension _syslog> Module xm_syslog </Extension> <Extension charconv> Module xm_charconv AutodetectCharsets gbk,utf-8, euc-jp, utf-16, utf-32, iso8859-2 </Extension> <Input in1> Module im_udp Host 192.168.31.127 Port 1513 Exec convert_fields("auto", "utf-8"); </Input> <Output out1> Module om_udp Host 192.168.31.127 Port 1514 </Output> ######################################## # Routes # ######################################## <Route graylog-utf-8> Path in1 => out1 </Route>
firewall-cmd --permanent --zone=public --add-port=1513/udp firewall-cmd --reload service nxlog restart chkconfig --list | grep nxlog
验证效果
若有遇到这种情况时可以采用这种nxlog转换编码的方案
四、GrayLogServer中日志源source显示名称问题
在图中可以看到source一直为0010097503844724(root),不太直观
可以通过pipeline规则来实现显示名称修改
参考如下链接解决
https://community.graylog.org/t/making-source-field-show-hostname-instead-of-ip-address/7801
步骤如下
1、创建Pipeline
2、配置rules
语法配置如下
rule "CorrectHillstoneDeviceName" when has_field("source") AND contains(to_string($message.source), "0010097503844724(root)") then set_field("source", "Hillstone"); end
3、然后再应用到Stream "All messages"中
就可以完美解决这个问题
切换为暗黑模式