1、如何在windows服务器中使用syslog功能?
方法/步骤:
1. 首先根据自己的windows系统的版本(32/64位),在网上下载相应的版本。我的系统为64位版本,因此下载64位版本;
2. 然后将下载后的软件内的两个文件evtsys.dll和evtsys.exe,拷贝到系统内c:windowssystem32目录下;
3. 这一步找到命令提示符,右击选择以管理员身份运行。详细操作如下图所示;
4. 在操作窗口内,首先输入cd c:windowssystem32 命令进入 c:windowssystem32目录下,然后执行命令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. 启动服务。在以管理员身份运行的命令提示符窗口内,执行命令:net start evtsys即可启动服务。接下来进行测试是否发送成功;
7. 打开syslogwatcher进行相应的设置,设置端口为514端口,接受字符码为:UTF-8码。然后点击listen。进行监听514端口。查看是否有windows日志发出。
为测试效果明显,可以重启安装evtsys的机器。(本次安装syslogwatcher与evtsys不在同一台机器,便于测试)。
如重启安装evtsys的机器仍未看到日志。则通过以下几点进行排除。
1.确认接收日志端的系统防火墙已经关闭。
2.确认安装evtsys的机器,是否已经启动该服务,如未启动,在服务列表点击启动。
2、如何在windows服务器中使用syslog功能
方法/步骤:
1. 首先根据自己的windows系统的版本(32/64位),在网上下载相应的版本。我的系统为64位版本,因此下载64位版本;
2. 然后将下载后的软件内的两个文件evtsys.dll和evtsys.exe,拷贝到系统内c:windowssystem32目录下;
3. 这一步找到命令提示符,右击选择以管理员身份运行。详细操作如下图所示;
4. 在操作窗口内,首先输入cd c:windowssystem32 命令进入 c:windowssystem32目录下,然后执行命令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. 启动服务。在以管理员身份运行的命令提示符窗口内,执行命令:net start evtsys即可启动服务。接下来进行测试是否发送成功;
7. 打开syslogwatcher进行相应的设置,设置端口为514端口,接受字符码为:UTF-8码。然后点击listen。进行监听514端口。查看是否有windows日志发出。
为测试效果明显,可以重启安装evtsys的机器。(本次安装syslogwatcher与evtsys不在同一台机器,便于测试)。
如重启安装evtsys的机器仍未看到日志。则通过以下几点进行排除。
1.确认接收日志端的系统防火墙已经关闭。
2.确认安装evtsys的机器,是否已经启动该服务,如未启动,在服务列表点击启动。
3、如何使用syslog向服务器协议
Syslog是一种工业标准的协议,可用来记录设备的日志。
Ubuntu下安装syslog apt-get install inetutils-syslogd
这里面的三个函数openlog, syslog, closelog是一套系统日志写入接口。另外那个vsyslog和syslog功能一样,只是参数格式不同。
通常,syslog守护进程读取三种格式的记录消息。此守护进程在启动时读一个配置文件。一般来说,其文件名为/etc/syslog.conf,该文件决定了不同种类的消息应送向何处。例如,紧急消息可被送向系统管理员(若已登录),并在控制台上显示,而警告消息则可记录到一个文件中。该机制提供了 syslog函数,其调用格式如下
#include <syslog.h>
void openlog (char*ident,int option ,int facility);
void syslog(int priority,char*format,……)
void closelog();
调用openlog是可选择的。如果不调用openlog,则在第一次调用syslog时,自动调用openlog。调用closelog也是可选择的,它只是关闭被用于与syslog守护进程通信的描述符。调用openlog 使我们可以指定一个ident,以后, 此ident 将被加至每则记录消息中。ident 一般是程序的名称(例如 ,cron ,ine 等)
程序的用法示例代码如下:
#include <syslog.h>
int main(int argc, char **argv)
{
openlog("MyMsgMARK", LOG_CONS | LOG_PID, 0);
syslog(LOG_DEBUG,
"This is a syslog test message generated by program '%s'\n",
argv[0]);
closelog();
return 0;
}
编译生成可执行程序后,运行一次程序将向/var/log /message文件添加一行信息如下:
Feb 12 08:48:38 localhost MyMsgMARK[7085]: This is a syslog test message generated by program './a.out'
syslog函数及参数
syslog函数用于把日志消息发给系统程序syslogd去记录,此函数原型是:
void syslog(int priority, const char *format, ...);
第一个参数是消息的紧急级别,第二个参数是消息的格式,之后是格式对应的参数。就是printf函数一样使用。
如果我们的程序要使用系统日志功能,只需要在程序启动时使用openlog函数来连接 syslogd程序,后面随时用syslog函数写日志就行了。
下面介绍在RedHat和ubuntu中如何配置它:
Ubuntu和红帽常使用它,并且通过文件/etc/rsyslog.conf进行管理。文件中包含许多指定的特殊系统日志:有的是控制台方面的,有的是文件方面或其它主机的。
首先,我们需要载入合适的TCP和UDP插件以支持接收系统日志。把下面的代码添加到rsyslog.conf的头部:
$modload imtcp
$modload imudp
$InputTCPServerRun 10514
$UDPServerRun 514
载入的这两个模块能支持监听TCP和UDP的端口,并且指定哪个端口来接受事件,在这种情况下,使用TCP的10514端口和UDP的514端口。你需要确认一下本地防火墙(在你的主机和中央系统日志服务器之间的防火墙)
下面我们需要指定一些规则来告诉rSyslog在哪放输入事件。如果你不添加任何规则,输入事件将按照本地的规则进行处理,并且与本地主机的事件交织在一起。我们需要在上面添加节之后和本地处理系统日志之前来正确的指定这个规则,例如:
if $fromhost-ip isequal '192.168.0.2' then /var/log/192.168.0.2.log
& ~
这里我们说的每一个来自于192.168.0.2的系统日志都应该保存在/var/log/192.168.0.2.log文件中。&~这个符号是非常重要的,因为它告诉rSyslog将停止处理消息。如果你把它忘写了,消息将越过下一个规则,并且继续处理。在这一规则中还有其他的变量。例如:
if $fromhost-ip startswith '192.168.' then /var/log/192.168.log
& ~
这里我们用192.168.*替代了以这个为开始的所有IP地址,写入到/var/log/192.168.log文件中。你还可以看到一些其它的过滤。
你将需要重启这个rsyslog服务来激活我们所做的新的配置:
$ sudo service rsyslog restart
现在,对于发送方的主机,我们还需要对文件rsyslog.conf进行一些更改,在文件的头部,添加下面这行:
*.* @@192.168.0.1:10514
这是发送的所有事件,来自于所有源代码和所有重要级别(用*.*),通过TCP协议传给IP地址为192.168.0.1的10514端口。你可是用你所在环境的地址来替换这个IP地址。要启用此配置,你将需要重启主机上的rSyslog。
你可以通过SSL/TLS更进一步地发送你的系统日志。如果你在互联网上或其它网络间传输系统日志,这也没什么坏处,你可能会发现这个的简单说明。
现在,如果给你的配置管理系统(如果不使用这个,你可以试一试Puppet或Cfengine工具)添加这个配置,然后,您可以用适当的系统日志来有效地配置每台主机,以确保你的日志将被发送到中央系统日志服务器。
4、路由器上的“Syslog服务器”是干什么的,有什么用处
是用来作日志服务器使的。很多大型的网站都把系统的日志文件保存在单独的服务器上面,这些服务器不提供下载、浏览,只是在后台默默的保存其他服务器的日志信息。
启用这个功能以后,本地路由会把当前主机A当做一台日志服务器来使用,如果其他机器开启了远程日志存储功能,那么其他机器中各种日志信息会通过路由保存到主机A上来,而不是保存在本机。
5、如何向syslog服务器发送日志
您好,很高兴为您解答。
参考一下:http://wenku.baidu.com/link?url=OsDiB-_Gmk2cGkEs6bsKQZ2E_
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
6、想在公司内部搭建一个日志服务器,可以接收其他所有服务器以及各种设备产生的日志。不知道用什么服务器。
http://wenku.baidu.com/view/8053931cff00bed5b9f31d8a.html
详细步骤
建立一个中央日志服务器
1建立中央日志服务器前的准备工作
配置良好的网络服务(DNS和NTP)有助于提高日志记录工作的精确性。在默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央服务器时用“-x”选项禁止它这样做。)如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率。类似地,如果你的各个系统在时间上不同步,中央日志服务器给某个事件打上的时间戳就可能会与发送该事件的那台机器打上的时间戳不一致,这种差异会在你对事件进行排序分析时带来很大的困扰;对网络时间进行同步有助于保证日志消息的时间准确性。如果想消除这种时间不同步带来的麻烦,先编辑/etc/ntp.conf文件,使其指向一个中央时间源,再安排ntpd守护进程随系统开机启动就可以了。
2配置一个中央日志服务器
只须稍加配置,就可以用syslog实现一个中央日志服务器。任何一台运行syslog守护进程的服务器都可以被配置成接受来自另一台机器的消息,但这个选项在默认情况下是禁用的。在后面的讨论里,如无特别说明,有关步骤将适用于包括SUSE和RedHat在内的大多数Linux发行版本。我们先来看看如何激活一个syslog服务器接受外来的日志消息:
1. 编辑/etc/sysconfig/syslog文件。
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。如果因为关于其他机器的DNS记录项不够齐全或其他原因不想让中央日志服务器解析其他机器的FQDN,还可以加上“-x”选项。此外,你或许还想把默认的时间戳标记消息(--MARK--)出现频率改成比较有实际意义的数值,比如240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。按照上面这些解释写出来的配置行应该是如下所示的样子:
SYSLOGD_OPTIONS="-r-x-m240"
2.重新启动syslog守护进程。修改只有在syslog守护进程重新启动后才会生效。如果你只想重新启动syslog守护进程而不是整个系统,在RedHat机器上,执行以下两条命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart
3.如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。
4为中央日志服务器配置各客户机器
让客户机把日志消息发往一个中央日志服务器并不困难。编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,如下所示:
另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件):
authpriv.*@loghost
接下来,重新启动客户机上的syslog守护进程让修改生效。让客户机在往中央日志服务器发送日志消息的同时继续在本地进行日志工作仍有必要,起码在调试客户机的时候不必到中央日志服务器查日志,在中央日志服务器出问题的时候还可以帮助调试。
7、linux下怎么发送syslog到相应的服务器
用scp命令:
发送user01下sys.log文件到192.168.1.1这台服务器的user01用户目录下
如果你做了信任登陆,直接发送就行
没做的话要输入密码
@前面的是目标机器用户名,一般做信任登陆都不会用root账户
scp /home/user01/sys.log [email protected]:/home/user018、如何配置远程SYSLOG服务器
你好亲,希望可以帮到你。个人意见仅供参考选择在你。第一步:配置路由器A的Syslog服务器。WEB页面中点击 高级配置—> Syslog配置 ,打开“Syslog配置“启用Syslog服务”,输入远程服务器的ip地址。需要注意的是,Syslog服务器地址只能输入IP地址,不可以输入域名。所以远程监控端最好是固定IP地址接入的。第二步:在路由器B上添加映射。由于Syslog服务器在内网,所以需要在上级路由器添加Syslog服务的映射。上图1中看到Syslog服务器的端口为514,所以在路由器B上添加UDP514的端口映射,映射的IP就是安装Syslog服务软件的电脑的IP。在 转发规则 —> 端口映射 页面添加端口映射现在只需要在Syslog服务器上启用Syslog服务即可, 祝愿亲新年快乐,开开心心每一天。
9、如何在windows2008建立syslog服务器
我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统。
经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.kiwisyslog.com/),它不仅功能齐全,而且提供免费的版本。
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_app.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,则:
net stop evtsys
evtsys -u
启动该服务:
C:/>net start evtsys
打开windows组策略编辑器 (开始->运行输入 gpedit.msc)
在windows设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。