Syslog日志中心服务器收集windowslinux客户端日志


Vdi环境下,虚拟机太多,我们不可能一台一台登录到虚机里面看日志,配置一台日志中心服务器,收集、管理虚机的日志是最好的方法;这里介绍在windows下使用nxlog日志上传工具(在win7、server2008、2012上测试通过),并且占用的资源很小(见图); linux下使用自带的syslog(Ubuntu14、12,centos7、6.5、6.4、6.3测试通过),并指向syslog中心日志服务器,在syslog中心日志服务器上就能对大量虚机的日志进行管理了。

 

(一)客户端配置

1Windows  Nxlog客户端配置:

 

附件安装包:

 

这款软件可以在32位和64位os上安装。

安装好的位置如下图:示例是32位操作系统

 

安装好后修改配置文件:

 

 

打开conf文件夹下 nxlog.conf文件,按下图注释位置修改:

1)填入文件安装路径(注意32位和64位os的路径不一样)

2)使用udp协议

3)接受消息的地址

4)514端口

 

配置好后启动nxlog服务,设成自动启动

 

 

 

 

 Nxlog在server2008下占用的资源图:

 

 

 

 

2Linuxsyslog客户端配置:

修改配置文件:

#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,见下图: