Syslog日志中心服务器收集windows和linux客户端日志
Vdi环境下,虚拟机太多,我们不可能一台一台登录到虚机里面看日志,配置一台日志中心服务器,收集、管理虚机的日志是最好的方法;这里介绍在windows下使用nxlog日志上传工具(在win7、server2008、2012上测试通过),并且占用的资源很小(见图); linux下使用自带的syslog(Ubuntu14、12,centos7、6.5、6.4、6.3测试通过),并指向syslog中心日志服务器,在syslog中心日志服务器上就能对大量虚机的日志进行管理了。
(一)客户端配置
(1)Windows Nxlog客户端配置:
附件安装包:
这款软件可以在32位和64位os上安装。
安装好的位置如下图:示例是32位操作系统
安装好后修改配置文件:
打开conf文件夹下 nxlog.conf文件,按下图注释位置修改:
1)填入文件安装路径(注意32位和64位os的路径不一样)
2)使用udp协议
3)接受消息的地址
4)514端口
配置好后启动nxlog服务,设成自动启动
Nxlog在server2008下占用的资源图:
(2)Linux下syslog客户端配置:
修改配置文件:
#vi /etc/rsyslog.conf
在最后一行加入:
*.* @169.169.169.169:514 #将所有消息发送到该地址
重启服务:
#service rsyslog restart
(二)Syslog中心日志服务器配置:
1)修改rsyslog.conf文件:
#vi /etc/rsyslog.conf
去掉$ModLoad imudp和 $UDPServerRun 514 两行前面的注释#号
2)# service rsyslog restart
3)# ip net
# ip net exec qrouter-1f6fafcf-8b73-4f59-9a38-b176b3649cac #需要修改qrouter
iptables -t nat -A neutron-l3-agent-PREROUTING -p udp -d 169.169.169.169 --dport 514 -j DNAT --to 192.168.201.13:514
#***********
将发送到169.169.169.169 514端口的消息转发到syslog中心日志服务器192.168.201.13:514 需要修改成syslog中心日志服务器的IP和端口
***********#
#service iptables restart
验证:
Syslog中心日志服务器上能看到时间 日期 计算机名 事件代码的日志信息,跟windows下对比是一致的,这样在syslog服务器上就能实时看到Windows虚拟机的日志了,只要Windows虚机产生日志,都会马上传到syslog服务器上
下图是Syslog客户端发送的消息
Syslong中心日志服务器收到消息,可以看到虚机neustor的日志信息,跟syslog客户端发来的一致
注:日志发送的是计算机名,如果虚机计算机名是一样的就无法辨别了,所以虚机计算机名需要修改,NewName.bat的作用是修改计算机名的,运行一次重启后随机生成计算机名;如果是大批量的创建虚拟机,可以将该批处理放在windows启动项,然后做成镜像,再创建虚拟机,虚机建好后生成的计算机名不一样,解决发送到syslog服务器日志重名无法辨别是哪台机器的问题。
-----windows下修改计算机名批处理,用法:放到开机启动再做镜像。
Linux客户端的syslog能发包到169.169.169.169,见下图: