syslog_搭建日志服务器
搭建rsyslog日志服务器

搭建rsyslog⽇志服务器环境配置centos7系统 client1:192.168.91.17centos7系统 master:192.168.91.18rsyslog客户端配置1、rsyslog安装yum install rsyslog2、启⽤UDP进⾏传输vim /etc/rsyslog.conf# Provides UDP syslog reception #若启⽤UDP进⾏传输,则取消下⾯两⾏的注释$ModLoad imudp$UDPServerRun 514# Provides TCP syslog reception #若启⽤TCP进⾏传输,则取消下⾯两⾏的注释#$ModLoad imtcp#$InputTCPServerRun 514*.* @192.168.28.149:514 #若启⽤TCP传输则使⽤@@,若是UDP则使⽤@3、重启rsyslog服务systemctl restart rsyslogrsyslog服务端配置1、启⽤UDP/TCP进⾏传输vim /etc/rsyslog.conf# Provides UDP syslog reception #若启⽤UDP进⾏传输,则取消下⾯两⾏的注释$ModLoad imudp$UDPServerRun 514# Provides TCP syslog reception #若启⽤TCP进⾏传输,则取消下⾯两⾏的注释#$ModLoad imtcp#$InputTCPServerRun 5142、重启rsyslog服务systemctl restart rsyslog测试服务是否能够将客户端的系统⽇志传回服务端1、在服务端不间断输出系统⽇志⽂件tailf /var/log/messages第⼆:在客户端使⽤logger⽣成测试⽇志信息(并查看服务器端输出,判断是否通过⽹络将⽇志收集到了)logger "rsyslog test"Rsyslog搭建中⼼⽇志服务器默认配置下,接收到的⽇志写⼊服务端对应的⽇志⽂件⾥,如:如果涉及到了secure⽇志的记录,就会写到服务器端的/var/log/secure⾥⾯,也就是客户端⾃⼰写⼀份然后再往服务器端写⼀份。
syslog-ng配置日志服务器学习总结

背景:因为项目需要,现使用syslog-ng搭建一台日志服务器,简单来说就是利用我们现有的虚拟机中的syslog-ng服务,搭建一台用于专名存放其他虚拟机(也包括自己)所产生的日志。
由于一些用户以后将没有权限直接访问我们的ebackup 服务器,但又需要查看日志。
便可以用过这台日志服务器来查看。
日志服务器中的日志目录按照一定的规则设定,如“日期+主机名”等自行设定。
Syslog-ng介绍:规则,实现更好的过滤功能。
本次日志服务器的搭建是用的syslog-ng,关于syslog的具体描述可以参考下面的链接。
/subview/1614723/1614723.htm1、syslog-ng的配置说明syslog-ng的主配置文件存放在:/etc/syslog-ng/syslog-ng.conf中。
首先需要简单介绍一下syslog-ng的架构。
yslog-ng.conf中所有配置都是基于syslog-ng 的这样一种架构:LOG STATEMENTS『SOURCES - FILTERS -DESTINATIONS』即:消息路径『消息源-过滤器-目的站』也就是说,通过定义多个消息源,把匹配上若干个过滤器的消息导向到指定的目的地,从而组成一个消息路径。
(1)、消息源source格式为:source { sourcedriver params; sourcedriver params; ... };一个消息源的标识sourcedriver:消息源驱动器,可以支持若干参数,并使用分号“;”隔离多个消息源驱动器消息源有以下几种:file (filename) :从指定的文件读取日志信息unix-dgram (filename) :打开指定的SOCK_DGRAM模式的unix套接字,接收日志消息unix-stream (filename) :打开指定的SOCK_STREAM模式的unix套接字,接收日志消息udp ( (ip),(port) ) :在指定的UDP端口接收日志消息tcp ( (ip),(port) ) :在指定的TCP端口接收日志消息sun-streams (filename) :在solaris系统中,打开一个(多个)指定的STREAM设备,从其中读取日志消息internal() : syslog-ng内部产生的消息pipe(filename),fifo(filename) :从指定的管道或者FIFO设备,读取日志信息例如:source s_sys {file ("/proc/kmsg" log_prefix("kernel:"));unix-stream ("/dev/log");internal();); };参数需要使用括号括住。
syslog服务器搭建方案

业务聚合平台SYSLOG部署方案一、方案部署背景该项目涉及设备数量包括服务器75台、网络交换机4台、光纤交换机2台、存储1台。
设备的日志信息是查看设备运营情况的最重要渠道。
若每台的去监控及查看,将带来巨大的工作量。
搭建一台syslog能有效缓解该问题。
二、实施目的1.服务器日志集中存放到日志服务器和MySQL数据库中;2.每天发送一封E-MAIL, 报告异常日志条目;3.实时报告异常系统事件;4.WEB界面查询日志;三、硬件环境:CPU:4*4内存:16G磁盘:100G四、系统环境:操作系统:RHEL5.5 64bitIP:192.168.146.30五、实施步骤1、安装所属包:syslog20111106.tar.gzsyslog20111106.tar.gz2、配置yum服务器(省略)3、搭建LAMP环境(省略)4、安装syslog-ng#rpm -ivh libdb*#rpm -ivh libevtlog0-0.2.8-1.i386.rpm#rpm -ivh syslog-ng-2.1.3-1.i386.rpm#rpm -ivh msttcorefonts-2.0-1.noarch.rpm# mkdir -p /usr/share/fonts/truetype/msttcorefonts/#cp /usr/share/fonts/msttcorefonts/verdana* /usr/share/fonts/truetype/msttcorefonts/.5、配置syslog.conf# vi /etc/syslog-ng/syslog-ng.confsyslog-ng.conf6、重启syslog-ng# /etc/rc.d/init.d/syslog-ng restart7、安装php-syslog-ng#yum install php-gd php-mysql php-pdo#tar zxvf php-syslog-ng-2.9.8.tgz –C /var/www/html/.#cd /var/www/html/ php-syslog-ng#chown –R apache:apache html#cd scripts替换脚本中的文件实际路径(方法:perl -i -pe 's/\/www\/php-syslog-ng/\<newpath>/g' *)#perl -i -pe 's/\/www\/php-syslog-ng/\/var\/www\/html/g' *期间的报错可以忽略8、创建数据库及用户,脚本如下(该步骤可不操作):vi syslog-ng.sqlCREATE DATABASE syslog;USE syslog;CREATE TABLE logs (host varchar(32) default NULL,facility varchar(10) default NULL,priority varchar(10) default NULL,level varchar(10) default NULL,tag varchar(10) default NULL,date date default NULL,time time default NULL,program varchar(15) default NULL,msg text,seq int(10) unsigned NOT NULL auto_increment,PRIMARY KEY (seq),KEY host (host),KEY seq (seq),KEY program (program),KEY time (time),KEY date (date),KEY priority (priority),KEY facility (facility)) TYPE=MyISAM;CREATE USER syslogadmin identified BY ;syslogadmin;GRANT ALL ON syslog.* TO 'syslogadmin'@'%';UPDATE user SET password=PASSWORD(‘root’) WHERE user=’root’;FLUSH PRIVILEGES;9、编辑/etc/syslog-ng/syslog-ng.conf文件,添加以下内容destination d_mysql {program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog"template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY$HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n")template-escape(yes));};log {source(s_remote);destination(d_mysql);};10、修改/etc/pho.ini文件将display_errors = Off更改为display_errors = On ;将magic_quotes_gpc = Off更改为magic_quotes_gpc = On ;将memory_limit = 8M更改为memory_limit = 256M ;将max_execution_time = 30更改为max_execution_time = 9011、修改/etc/http/http.conf文件将DocumentRoot "/var/www/html"修改为DocumentRoot "/var/www/html/php-syslog-ng/html"将#ServerName :80修改为ServerName 192.168.146.30:8012、重启http服务13、配置php-syslog-ng在浏览器输入http://192.168.146.30/htmlScreen 1: 点击next开始安装;Screen 2: 选择接受协议后点击next继续;Screen 3: 输入数据库ROOT用户密码,其它可以保持默认(你可以不选择"install sample data" box) ,点击Next 继续;点击ok继续...Screen 4:输入站点名称后点击next继续;Screen 5: 输入email地址和admin的密码外,其它可以保持默认,点击next继续;Screen 6: 如果选择安装用于收集Cisco ERROR TABLE的数据,将会弹出如下安装对话框(可选)点击Install CEMDB继续... (如果点击install CEMDB不工作,请使用Firefox进行安装。
syslog-ng 日志服务器

syslog-ng 日志服务器with php-syslog-ng 第一部分:LAMP平台的搭建、syslog-ng的安装1、所必要的tar包eventlog-0.2.5.tar.gzlibol-0.2.5.tar.gzsyslog-ng-2.0.6.tar.gz2、按上面包的顺序安装首先为三个包分别创建各自的安装目录mkdir /eventlogmkdir /libolmkdir /syslog-ng安装eventlogtar xzvf eventlog-0.2.5.tar.gzcd eventlog-0.2.5./configure --prefix=/eventlog && make && make install安装liboltar xzvf libol-0.2.5.tar.gzcd libol-0.2.5./configure --prefix=/libol && make && make install安装syslog-ngexport PKG_CONFIG_PA TH=/eventloglib/pkgconfig/tar xzvf syslog-ng-2.0.6.tar.gzcd syslog-ng-2.0.6./configure --prefix=/syslog-ng --with-libol=/libol && make && make install 至此syslog-ng的安装完成。
3、配置syslog-ng首先创建一个文件作为下面实验的日志存储文件touch /test.log进入syslog-ng的安装目录cd /syslog-ngmkdir etcvi syslog-ng.conf输入如下内容进行测试options {keep_hostname(yes);long_hostnames(off);sync(1);log_fifo_size(1024);create_dirs(yes); # if a dir does not exist create itowner(root); # owner of created filesgroup(root); # group of created filesperm(0600); # permissions of created filesdir_perm(0700); # permissions of created dirs};source sudp {udp();};destination test {file("/test.log");};log {source(sudp);destination(test);};配置文件的内容结束。
设置 Syslog 日志服务器用来获取交换机日志

设置 Syslog 日志服务器用来获取交换机日志(Syslog 日志服务器用来获取交换机日志CISCO和H3C交换机的设置)注:配置日志服务器前先检查是否已安装了SYSLOG服务执行 ps -e |grep syslogd 查看进程是否存在没有安装 # apt-get install syslogd 安装,或下载用安装包H3C交换机的设置举例1. 组网需求将系统的日志信息发送到 linux 日志主机;日志主机的IP 地址为 1.2.0.1/16;信息级别高于等于 informational 的日志信息将会发送到日志主机上;日志信息的输出语言为英文,允许输出信息的模块为ARP 和 CMD。
2. 组网图3. 配置步骤(1) 设备上的配置。
# 开启信息中心。
<Sysname> system-view[Sysname] info-center enable# 指定向日志主机输出日志信息的通道为 loghost 通道。
[Sysname] info-center loghost 1.2.0.1 channel loghost# 关闭所有模块日志主机的 log、trap、debug 的状态。
[Sysname] info-center source default channel loghost debug state off log state off trap state off注意:由于系统对各通道允许输出的系统信息的缺省情况不一样,所以配置前必须将所有模块的需求通道(本例为loghost )上log、trap、debug 状态设为关闭,再根据当前的需求配置输出相应的系统信息。
可以用display channel 命令查看通道的状态。
# 将 IP 地址为 1.2.0.1/16 的主机作为日志主机,设置信息级别为informational,输出语言为英文,允许输出信息的模块为所有模块。
[Sysname] info-center loghost 1.2.0.1 facility local7 language english [Sysname] info-center source default channel loghost log level informational 2) 日志主机上的配置。
Linux搭建Syslog服务器

Linux搭建Syslog服务器在⼤多数据的Linux发⾏版中,rsyslog是⼀个预先安装的标准⽇志后台进程。
在客户端/服务端的系统配置中,rsyslog 能扮演两个⾓⾊;作为⼀个⽇志服务器能从其它设备收集⽇志信息,⽽作为⼀个⽇志客户端,rsyslog发送⾃⼰内部⽇志信息到远程⽇志服务器第1步: 初始化系统需求要将linux主机设置为⼀个中央⽇志服务器,我们需要创建⼀个分离的 /var 分区,并分配⾜够⼤的磁盘空间或者创建⼀个特殊的LVM卷组。
这样就会使得syslog服务器能够承担在⽇积⽉累收集⽇志所带来的潜在增长。
第2步: 让rsyslog 后台进程⽣效rsyslog守护进程来⾃于当前的linux发布版本的预装模块,但是默认并没有启动。
为了能够让rsyslog守护进程能够接受外部的消息,需要编辑其配置⽂件/etc/rsyslog.conf.打开⽂件进⾏编辑,查找到下⾯的两⾏所在的位置,通过删除其⾏⾸的#字符来取消注释。
(15⾏,16⾏,19⾏,20⾏)vi /etc/rsyslog.conf这会使得rsysolog守护进程能够在UDP端⼝514上接受⽇志消息了---UDP是⼀种⽐TCP速度快,但是并不具有TCP⼀样的数据流的可靠性。
所以如果你需要使⽤可靠的传送机制,就可以通过取消以下⾏的注释。
需要注意的是,TCP和UDP可以被同时⽣效来监听TCP/UDP 连接。
(如⾥两个端⼝都打开的话,会出现TCP协议端⼝接收不到⽇志,所以有两种⽅法,⼀是修改TCP协议的端⼝;⼆是关闭UDP端⼝,再重启机器)第3步:创建⽇志接收模板接下来的这步,需要我们来为远程消息创建模板,并告知rsyslog守护进程如何记录从其他客户端机器所接受到的消息。
使⽤⽂本编辑器来打开 /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE块前追加以下的模板(在23⾏下添加)vi /etc/rsyslog.conf$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" **.* ?RemoteLogs& ~在此对该模板进⾏简单解释,1.$template RemoteLogs(这⾥“RemoteLogs” 字符串可以为任何其他的描述性的名称)指令使rsyslog后台进程将⽇志消息写到/var/log下的单独的本地⽇志⽂件中,其中⽇志⽂件的名称是基于远程⽇志发送机器的主机名以及⽣成该⽇志的应⽤程序名进⾏定义的。
Linux搭建syslog服务器

Linux搭建syslog服务器syslog介绍syslog服务器可以⽤作⼀个⽹络中的⽇志监控中⼼,可以将不同设施/主机发送的⽇志,过滤和合并到⼀个独⽴的位置,这样使得更容易地查看和获取重要的⽇志消息。
rsyslog同时扮演了两种⾓⾊:1. 作为⼀个syslog服务器,rsyslog可以收集来⾃其他设施的⽇志信息;2. 作为⼀个syslog客户端,rsyslog可以将其内部的⽇志信息传输到远程的syslog服务器;syslog标准基础当通过syslog机制来收集⽇志时,有3个必须要考虑到的重要事情:1. 设施层级: 监听何种类型的进程2. 严重性(优先)级别: 收集何种级别的⽇志消息3. ⽬标: 发送或记录⽇志消息到何处设施层级定义了⼀种⽤来对内部系统进程进⾏分类的⽅法,linux中的⼀些常见的设施包括:auth: ⾝份验证相关的消息(登录时)cron: 进程或应⽤调度相关的消息daemon: 守护进程相关的消息(内部服务器)kernel: 内核相关的消息mail: 内部邮件服务器相关的消息syslog: syslog 守护进程本⾝相关的消息lpr: 打印服务相关的消息local0 - local7: ⽤户⾃定义的消息(local7 通常被Cisco 和 Windows 服务器使⽤)严重性(优先)级别有固定的标准缩写和指代的值,其中的数字7具有最⾼的级别,这些级别包含了:emerg: Emergency(紧急)- 0alert: Alerts (报警)- 1crit: Critical (关键)- 2err: Errors (错误)- 3warn: Warnings (警告)- 4notice: Notification (通知)- 5info: Information (消息)- 6debug: Debugging (调试)- 7最后,⽬标语句会让⼀个syslog客户端来执⾏以下三个任务之⼀:保存⽇志消息到⼀个本地⽂件;通过TCP/UDP将消息路由到远程的syslog服务器中;将其发送到⼀个标准输出中,例如控制台。
RHEL5 下使用syslog-ng构建集中型日志服务器

RHEL5 下使用syslog-ng构建集中型日志服务器在生产环境中,存在一台日志服务器,专门用来记录其他服务器的日志信息是个很好的主意,不过用红帽自带的syslog,配置虽然简单,但是日志却没有办法分离,默认都堆在/var/log/message文件里面,用来超不爽,下面来介绍下用syslog-ng来构建日志服务器,这个还支持将日志导入数据库和通过网页来发布日志,听起来功能相当的强大,接下来要好好的研究下咯……环境介绍日志服务器IP:192.168.90.20;客户端IP:192.168.90.10系统:RHEL5.4实现目标:将客户端的日志自动保存在服务器端的相应目录,并根据日期,IP地址和日志类型进行分开保存备注:由于在虚拟机环境下操作,服务器于客户端时间未同步,所以会存在记录日志时间不一致的现象;[root@server2 ~]# cd /usr/local/src/tarbag/[root@server2 tarbag]# wget /downloads/files/eventlog/0.2/eventlog_0.2.9.tar.gz[root@server2 tarbag]# tar -zxvf eventlog_0.2.9.tar.gz -C ../software/[root@server2 tarbag]# cd ../software/eventlog-0.2.9/[root@server2 eventlog-0.2.9]# ./configure --prefix=/usr/local/eventlog && make && make install[root@server2 eventlog-0.2.9]# ls /usr/local/eventlog/include lib[root@server2 syslog-ng-3.0.5]# cd -/usr/local/src/tarbag[root@server2 tarbag]# wget /downloads/files/libol/0.3/libol-0.3.9.tar.gz[root@server2 tarbag]# tar -zxvf libol-0.3.9.tar.gz -C ../software/[root@server2 tarbag]# cd ../software/libol-0.3.9/[root@server2 libol-0.3.9]# ./configure --prefix=/usr/local/libol && make && make install[root@server2 libol-0.3.9]# ls /usr/local/libol/bin include lib[root@server2 tarbag]# wget /downloads/files/syslog-ng/sources/3.0.5/source/syslog-ng_3.0.5.tar.gz[root@server2 tarbag]# tar -zxvf syslog-ng_3.0.5.tar.gz -C ../software/[root@server2 tarbag]# cd ../software/syslog-ng-3.0.5/[root@server2 syslog-ng-3.0.5]# export PKG_CONFIG_PATH=/usr/local/eventlog/lib/pkgconfig[root@server2 syslog-ng-3.0.5]# ./configure --prefix=/usr/local/syslog-ng --with-libol=/usr/local/libol && make && make installconfigure: error: Cannot find eventlog version >= 0.2: is pkg-config in path? (若出现这个错误,基本上是由于前面的PKG_CONFIG_PATH变量没指定好) [root@server2 syslog-ng-3.0.5]# ls /usr/local/syslog-ng/bin libexec sbin share[root@server2 syslog-ng-3.0.5]# mkdir /usr/local/syslog-ng/etc[root@server2 syslog-ng-3.0.5]# mkdir /usr/local/syslog-ng/var[root@server2 syslog-ng-3.0.5]# cp contrib/syslog-ng.conf.RedHat /usr/local/syslog-ng/etc/[root@server2 syslog-ng-3.0.5]# cp contrib/init.d.RedHat /etc/init.d/syslog-ng[root@server2 syslog-ng-3.0.5]# cd /usr/local/syslog-ng/etc/[root@server2 etc]# mv syslog-ng.conf.RedHat syslog-ng.conf[root@server2 etc]# cat syslog-ng.conf@version:3.0options {long_hostnames(off);log_msg_size(8192);flush_lines(1);log_fifo_size(20480);time_reopen(10);use_dns(yes);dns_cache(yes);use_fqdn(yes);keep_hostname(yes);chain_hostnames(no);perm(0644);stats_freq(43200);};source s_internal { internal(); };destination d_syslognglog { file("/var/log/syslog-ng.log"); };log { source(s_internal); destination(d_syslognglog); };source s_local {unix-dgram("/dev/log");file("/proc/kmsg" program_override("kernel:"));};filter f_messages { level(info..emerg); }; //定义7种日志类型filter f_secure { facility(authpriv); };filter f_mail { facility(mail); };filter f_cron { facility(cron); };filter f_emerg { level(emerg); };filter f_spooler { level(crit..emerg) and facility(uucp, news); };filter f_local7 { facility(local7); };destination d_messages { file("/var/log/messages"); }; //定义7种类型日志在客户端的位置destination d_secure { file("/var/log/secure"); };destination d_maillog { file("/var/log/maillog"); };destination d_cron { file("/var/log/cron"); };destination d_console { usertty("root"); };destination d_spooler { file("/var/log/spooler"); };destination d_bootlog { file("/var/log/dmesg"); };log { source(s_local); filter(f_emerg); destination(d_console); };log { source(s_local); filter(f_secure); destination(d_secure); flags(final); };log { source(s_local); filter(f_mail); destination(d_maillog); flags(final); };log { source(s_local); filter(f_cron); destination(d_cron); flags(final); };log { source(s_local); filter(f_spooler); destination(d_spooler); };log { source(s_local); filter(f_local7); destination(d_bootlog); };log { source(s_local); filter(f_messages); destination(d_messages); };# Remote logging //定义监听的端口source s_remote {tcp(ip(0.0.0.0) port(514));udp(ip(0.0.0.0) port(514));};//定义客户端日志在服务器上保存的格式,位置和权限等destination r_console {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/console" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; destination r_secure {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/secure" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; destination r_cron {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/cron" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; destination r_spooler {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/spooler" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; destination r_bootlog {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/bootlog" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; destination r_messages {file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/messages" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; log { source(s_remote); filter(f_emerg); destination(r_console); };log { source(s_remote); filter(f_secure); destination(r_secure); flags(final); };log { source(s_remote); filter(f_cron); destination(r_cron); flags(final); };log { source(s_remote); filter(f_spooler); destination(r_spooler); };log { source(s_remote); filter(f_local7); destination(r_bootlog); };log { source(s_remote); filter(f_messages); destination(r_messages); };[root@server2 etc]# chmod +x /etc/init.d/syslog-ng[root@server2 etc]# chkconfig --add syslog-ngservice syslog-ng does not support chkconfig(若出现该错误,请修改该脚本前四行如下)[root@server2 etc]# head -4 /etc/init.d/syslog-ng //加services不是在usr下的etc#!/bin/bash#chkconifg: --add syslog-ng#chkconfig: 2345 12 88#Description: syslog-ng该脚本还需要修改下面的三个位置[root@server2 etc]# grep ‘PATH‘ /etc/init.d/syslog-ngPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/syslog-ng/bin:/usr/local/syslog-ng/sbin[root@server2 etc]# grep 'INIT' /etc/init.d/syslog-ng |head -2INIT_PROG="/usr/local/syslog-ng/sbin/syslog-ng" # Full path to daemonINIT_OPTS="-f /usr/local/syslog-ng/etc/syslog-ng.conf" # options passed to daemon[root@server2 etc]# service syslog-ng start // 注意cd /usr/local/syslog-ng/etc/Starting syslog-ng: /usr/local/syslog-ng/sbin/syslog-ng: error while loading shared libraries: libevtlog.so.0: cannot open shared object file: No such file or directoryStarting Kernel Logger: 出现此错误是因为共享库链接没做好[root@server2 etc]# ln -s /usr/local/eventlog/lib/* /lib/出现下面的问题是因为主配置文件中缺少:@version:3.0这行Starting syslog-ng: Configuration file has no version number, assuming syslog-ng 2.1 format. Please add @version: maj.min to the beginning of the file;[root@server2 ~]# service syslog-ng startStarting Kernel Logger: [ OK ][root@server2 etc]# cat /var/log/syslog-ng.logJan 28 03:59:07 syslog-ng[20225]: syslog-ng starting up; version='3.0.5'客户端配置:[root@client ~]# tail -1 /etc/syslog.conf*.* @192.168.90.20[root@client ~]# logger -i just one test[root@client ~]# tail -1 /var/log/messagesJan 27 22:12:02 client root[2861]: just one test[root@server2 ~]# cat /var/log/syslog-ng/20100128/192.168.90.10/messagesJan 28 04:24:32 192.168.90.10 root[2861]: just one test[root@server2 ~]# cat /var/log/syslog-ng/20100128/192.168.90.10/secureJan 28 04:01:04 192.168.90.10 sshd[2832]: Accepted publickey for root from 192.168.90.1 port 48834 ssh2 Jan 28 04:01:04 192.168.90.10 sshd[2832]: pam_unix(sshd:session): session opened for user root by (uid=0)参考网站:/s/blog_4a071ed80100cssu.html前面配置好了syslog-ng,下面简要的概述下如何将系统日志存入mysql1:将mysql的头文件和库文件链接到/usr/local下[root@server2 ~]# ln -s /usr/local/mysql/lib/mysql /usr/local/lib/mysql[root@server2 ~]# ln -s /usr/local/mysql/include/mysql/ /usr/local/include[root@server2 ~]# cd /usr/local/src/software/sqlsyslogd2:下载sqlsyslogd源码包,由于是整个目录下载,所以会下载index.html打头的索引文件[root@server2 software]# wget -d -r -np /sources/security/sqlsyslogd/[root@server2 software]# cd /sources/security/sqlsyslogd/[root@server2 sqlsyslogd]# rm -rf index.html*[root@server2 sqlsyslogd]# cd contrib/[root@server2 contrib]# rm -rf index.html*[root@server2 contrib]# cd[root@server2 ~]# mv /usr/local/src/software//sources/security/sqlsyslogd/ /usr/local/src/software/3:make,复制sqlsyslogd二进制程序到/usr/local/sbin目录下[root@server2 ~]# cd /usr/local/src/software/sqlsyslogd/[root@server2 sqlsyslogd]# makecc -O6 -Wall -pipe -I/usr/local/include -DCONF=\"/usr/local/etc/sqlsyslogd.conf\" -L/usr/local/lib/mysql -lmysqlclient sqlsyslogd.c -o sqlsyslogd [root@server2 sqlsyslogd]# cp sqlsyslogd /usr/local/sbin/4:执行下sqlsyslogd程序,出现下面的命令选项则说明安装成功[root@server2 sqlsyslogd]# sqlsyslogdusage: sqlsyslogd [-h hostname] <-u username> [-p] <-t table> [database]5:修改/etc/ld.so.conf文件,并使其生效,这个文件维护着编译的动态链接库位置[root@server2 sqlsyslogd]# cat /etc/ld.so.confinclude ld.so.conf.d/*.conf/usr/local/lib/mysql[root@server2 sqlsyslogd]# ldconfig6:在数据库中创建相应的库和表[root@server2 sqlsyslogd]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 158Server version: 5.1.36-log Source distributionType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database syslog;Query OK, 1 row affected (0.00 sec)mysql> use syslogDatabase changedmysql> create table logs (Id int(10) NOT NULL auto_increment,Timestamp varchar(16),Host varchar(50),Prog varchar(50),Mesg text,PRIMARY KEY (id)); Query OK, 0 rows affected (0.01 sec)mysql> exitBye7:该文件定义了连接数据库的密码[root@server2 sqlsyslogd]# cat /usr/local/etc/sqlsyslogd.conf1234568:在syslog-ng主配置文件中添加下列配置[root@server2 sqlsyslogd]# vi /usr/local/syslog-ng/etc/syslog-ng.confdestination sqlsyslogd{program("/usr/local/sbin/sqlsyslogd -u root -t logs syslog -p");};log {source(s_remote);destination(sqlsyslogd);};9:重启syslog-ng服务[root@server2 sqlsyslogd]# service syslog-ng restartStopping Kernel Logger: [ OK ]Starting Kernel Logger: [ OK ]10:客户端发消息测试[root@server2 sqlsyslogd]# tail -1 /var/log/syslog-ng/20100226/192.168.90.1/messagesFeb 26 14:25:47 192.168.90.1 root[6058]: just for fun。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安装过程
2、选择安装模式为“Install Kiwi Syslog Server as a service”,两者的区别是,前者可以在关闭软件主界面后仍然能记录日志,后者只能瞬时记录日志
3、选择安装的用户,本地系统账户还是一个管理员的账户
4、勾选“Install Kiwi Syslog Web Access”(可以不勾选),因为他提示了此功能只限注册用户使用、
5、选择安装的组件
6、选择安装的路径
7、若第四步中没有勾选安装Kiwi Syslog Web Access,则会提示安装成功,若勾选了,则会提示安装Kiwi Syslog Web Access必备组件的向导,安装过程会自动下载并安装这些组件、
8、之后就会弹出Kiwi Syslog Web Access的安装向导过程,也比较简单。
9、在Kiwi Syslog的安装包里还有个工具SolarWinds_LogForwarder_1.1.15_Eval_Setup.exe,安装也比较简单,这里不详细介绍。
配置过程
Kiwi Syslog Server的各种详细配置主要在file-setup里面。
我们主要介绍2个方面的配置
1、log文件的存放路径,点击Rules-Actions-Log to file,这里我们就可以设置存放的位置以及存放的格式
2、配置计划任务,点击Rules-Shedules-Add new schedule
Schedule字段添加日志计划频率(按小时算、每6个小时记录一次,一天记录4次)
Source字段(设置临时存储日志的路径)
Destination字段(设置最终日志存储目录)
实例测试
把这两个文件拷贝到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服务器。
但是我们发现了个问题,日志的内容竟然变成了乱码。
我们需要做出一个修改,在setup里设置UDP里的字符格式为UTF-8
(2) netscreen防火墙日志配置实例
1 用户登陆web界面
2 选择Configuration->;Report Settings->;Syslog
3 点击'Enable Syslog messages'
4 输入日志服务器的地址和端口(udp端口514)
(3)华为3952P-2,设置如下:
Quidway3952(config)# logging on //开启日志系统
Quidway3952(config)# info-center loghost 192.168.X.X //日志服务器的IP地址(4)思科交换机3750,设置如下:
SW3750 (config)#logging on
SW3750(config)#logging 192.168.X.X //日志服务器的IP地址
(1)配置syslog:
配置syslog接收远程主机的syslog消息,这样才会监听端口:
修改文件/etc/sysconig/syslog
中内容为:
SYSLOGD_OPTIONS="-r -m 0"
-r:enables logging from remote machines 接收远程syslog消息
系统默认没有-r参数,不接收远程消息.
保存.重启syslog服务
service syslod restart
然后netstat -aun就能看到udp的514端口打开着。
(2)存储到本地文件测试:
测试Facility为local5的所有等级的消息存储到/var/log/test.log下
首先touch /var/log/test.log
然后修改文件/etc/syslog.conf
添加一行:
local5.* /var/log/test.log
保存,表示local5的所有消息保存到该文件。
重启syslog服务
service syslog restart
然后tail -f /var/log/test.log文件
用kiwi Syslog message generator 在一台windows上发送一个Facility为local5的消息到syslog服务器(IP地址要填写对)
这时test.log就会被写入.
(3)转发至远程主机
修改/etc/syslog.conf中的添加那行为:
local5.* @192.168.54.71
这样syslog就会转发到192.168.54.71上了
重启服务,并启动192.168.54.71上的
kiwi syslog service manager进行监听。
然后用kiwi Syslog message generator 在一台windows上发送一个Facility为local5的消息到syslog服务器
该消息应该会被转发到192.168.54.71上,显示在kiwi syslog service manager的界面上.。