大家好,今天来为大家分享免费syslog日志服务器的一些知识点,和如何在windows服务器中使用syslog功能的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
一、如何在windows2008建立syslog服务器
我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(),它不仅功能齐全,而且提供免费的版本。
Kiwisyslog遵循标准的日志协议(RFC 3164),并支持UDP/TCP/SNMP几种方式的日志输入。它默认是个免费的功能受限版(但功能基本够用了,只是没有找到汉化),自带发送模拟器﹑日志浏览器等实用工具。
我还测试了一下把ACE日志写到syslog的功能。过程记录如下:
1)使用klog工具
这个主要用到kiwisyslog的klog实用工具(这个工具同时提供dll库的调用方式,真是好东西,我决定以后在我的应用里都用它!),它支持或用重定向的方法输出日志到kiwisyslog。
klog–m"It's almost lunchtime"
DIR*.*| klog-h 192.168.1.2-i
但我试图使用ACE应用日志输出到kiwisyslog时(ace_.exe| klog-h 192.168.1.2-i的形式),发现日志内容里前后有乱码出现,即ACE的日志输出重定向到klog再转到kiwisyslog有问题;并且不能按时间一行一行的输出,而是等应用程序执行结束时一股脑输出到kiwisyslog(按回车换行切开成一条一条日志)。如果程序非正常结束,还不能将输出日志内容传到 kiwisyslog。
还有一个方法是在Windows通过设置可以把ACE日志输出到系统日志里面。
ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
然后按下面2)的方法转到kiwisyslog。
2)还可以把Windows下的事件日志转到Linux下的syslog
我们需要第三方的软件来将windows的日志转换成syslog类型的日志后,转发给syslog服务器。
介绍第三方软件evtsys(全称是evntlog to syslog)
文件才几十K大小,非常小巧,解压后是两个文件evtsys.dll和evtsys.exe
把这两个文件拷贝到 c:/windows/system32目录下。
打开Windows命令提示符(开始->运行输入CMD)
C:/>evtsys–i–h 192.168.10.100
-i表示安装成系统服务
-h指定log服务器的IP
如果要卸载evtsys,则:
stop evtsys
evtsys-u
启动该服务:
C:/> start evtsys
打开windows组策略编辑器(开始->运行输入 gpedit.msc)
在windows设置->安全设置->本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。
二、如何在windows服务器中使用syslog功能
方法/步骤:
1.首先根据自己的windows系统的版本(32/64位),在网上相应的版本。我的系统为64位版本,因此64位版本;
2.然后将后的软件内的两个文件evtsys.dll和evtsys.exe,拷贝到系统内c:\windows\system32目录下;
3.这一步找到命令提示符,右击选择以管理员身份运行。详细操作如下图所示;
4.在操作窗口内,首先输入cdc:\windows\system32命令进入c:\windows\system32目录下,然后执行命令evtsys–i–h 192.168.2.104。下面详细介绍evtsys命令参数意思。
-i表示安装成系统服务
-h指定log服务器的IP
如要设置端口,在IP后加上自己要设置的端口就可以了。ip与端口之间要有空格隔开。默认不写端口为514端口。
执行完以上命令后,evtsys已经安装成功,且已经成功注册到服务列表。
5.在开始->运行输入 gpedit.msc。进入windows本地组策略编辑器,在该窗口内,选择Windows设置->安全设置。打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 514端口发送给syslogd服务器;
6.启动服务。在以管理员身份运行的命令提示符窗口内,执行命令: start evtsys即可启动服务。接下来进行测试是否发送成功;
7.打开syslogwatcher进行相应的设置,设置端口为514端口,接受字符码为:UTF-8码。然后listen。进行监听514端口。查看是否有windows日志发出。
为测试效果明显,可以重启安装evtsys的机器。(本次安装syslogwatcher与evtsys不在同一台机器,便于测试)。
如重启安装evtsys的机器仍未看到日志。则通过以下几点进行排除。
1.确认接收日志端的系统防火墙已经关闭。
2.确认安装evtsys的机器,是否已经启动该服务,如未启动,在服务列表启动。
三、如何搭建syslog日志服务器
首先我们知道日志是什么,日志毫无疑问就跟我们写日记一样记录我们每天做的一些事情,那么日志对于一台服务器而言是至关重要的,比如说我们搭建服务的时候,服务起不来也没提示错误信息,那么这个时候就可以查看日志来排错了,还记录了服务器的运行情况已经*记录等等...,那么我们知道一台服务器的日志默认是存放在本地的对于linux而言日志一般存放于/var/log/目录下,比如说某系统管理员管理着几十甚至上百台服务器的时候,默认日志放在每台服务器的本地,当我们每天要去看日志的时候一台一台的看日志是不是要郁闷死了.没关系在linux系统上提供了一个syslogd这样的一个服务为我们提供日志服务器,他可以将多台主机和网络设备等等的日志存到日志服务器上,这样就大大减少了管理员的工作量,下面将在一台默认装有rhel5.x的系统上搭建一台日志服务器.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
系统环境:默认安装有rhel5.8的系统
主机角色 IP
server1日志服务器 10.0.0.1
server2 10.0.0.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
实际上日志服务器的配置非常之简单几条命令就搞定了
一.配置日志服务器为网络中其他主机及其网络设备等等提供日志存储服务,也就是配置server1
1.在server1上编辑/etc/sysconfig/syslog文件修改如下
#vim/etc/sysconfig/syslog##只修改SYSLOGD_OPTINOS这项,如下
SYSLOGD_OPTIONS="-m 0-r"
2.重新启动syslog
#service syslog restart
3.配置防火墙,syslog传送日志的端口是UDP的514端口防火墙在默认的情况下是阻止所有的,这里就把防火墙关闭了,防火墙的配置就不介绍了
#service iptables stop
#cconfig iptables off
ok!到这里服务器的配置基本就结束了.
二.配置server2让其将日志发送到日志服务器上去,我们知道windows跟*机路由器都是有日志产生的,它们的日志也是可以存储到日志服务器上去的,这里就只介绍linux主机的
1.配置server2上的/etc/syslog.conf定义日志的类型以及日志的级别和日志存放的位置,这里就只简单的介绍下大体的配置思路,
#vim/etc/syslog.conf
*.*@10.0.0.1
上面的配置表示所有的日志类型.所有的日志的级别的日志都将存放在10.0.0.1这台日志服务器上
2,重启syslog
#service syslog restart
三.验证
1.在server2上建一个redhat的用户,然后到server1上的/var/log/secure文件或者/var/log/messages文件查看日志
#cat/var/log/secure
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new group: name=redhat, GID=500
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash
可以看到10.0.0.2这台主机new了一个redhat的用户