syslog_搭建日志服务器报告

合集下载

syslog-ng配置日志服务器学习总结

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服务器搭建方案

业务聚合平台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进行安装。

CentOS7.4搭建利用Rsyslog+LogAnalyzer+MariaDB部署日志服务器

CentOS7.4搭建利用Rsyslog+LogAnalyzer+MariaDB部署日志服务器

CentOS7.4搭建利用Rsyslog+LogAnalyzer+MySQL部署日志服务器简介LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。

它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。

数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。

基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。

二、系统环境Rsyslog Server OS:CentOS Linux release 7.4.1708 (Core)Rsyslog Server IP:192.168.123.100Rsyslog 版本:rsyslog-8.24.0-12.el7.x86_64LogAnalyzer 版本:LogAnalyzer 3.6.5 (v3-stable)Apache版本:httpd-2.4.6-67.el7.centos.x86_64Mariadb版本(CentOS7版本以上):mariadb-5.5.56-2.el7.x86_64PHP版本:php-5.4.16-42.el7.x86_64、php-gd-5.4.16-42.el7.x86_64关闭防火墙:systemctl stop firewalld ; systemctl disable firewalld关闭SElinux:setenforce 0 ; vi /etc/selinux/config 修改SELINUX=disabled 关闭NetworkManager:systemctl stop NetworkManager ;systemctl disable NetworkManagerRsyslog Client IP:192.168.123.101三、安装并设置LAMP环境3.1、安装LAMP环境# yum -y install httpd mariadb-server mariadb php php-mysql3.2 启动服务并加入开机启动# systemctl start httpd# systemctl enable httpd# systemctl start mariadb# systemctl enable mariadb3.3 设置MySQL root 密码# mysqladmin -uroot password '123456'3.4 测试php运行环境# cat > /var/www/html/index.php << eof> <?php> phpinfo();> ?>> eof四、安装服务器软件安装rsyslog软件和rsyslog 连接MySQL数据库的模块# yum -y install rsyslog rsyslog-mysql五、配置服务器端5.1 导入rsyslog-mysql 数据库文件# cd /usr/share/doc/rsyslog-8.24.0/# mysql -uroot -p123456 < mysql-createDB.sql5.2 创建rsyslog用户在mysql下的相关权限# mysql -uroot -p123456Welcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connection id is 117Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> grant all on Syslog.* to rsyslog@localhost identified by '123456';MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit5.3 配置rsyslog配置文件# vi /etc/rsyslog.conf在#### MODULES #### 下添加下面两行:$ModLoad ommysql*.* :ommysql:localhost,Syslog,rsyslog,123456然后把下面三行前面的井号去掉:$ModLoad immark #immark是模块名,支持日志标记$ModLoad imudp #imupd是模块名,支持udp协议$UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志5.4、重启rsyslog服务# systemctl restart rsyslog六、配置客户端6.1 检查rsyslog 是否安装# rpm -qa|grep rsyslog6.2 配置rsyslog 客户端发送本地日志到服务端# vi /etc/rsyslog.conf在最后一行增加下面这行内容,即客户端将本地日志发送到服务器。

设置 Syslog 日志服务器用来获取交换机日志

设置 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) 日志主机上的配置。

RHEL6 syslog日志服务器搭建

RHEL6 syslog日志服务器搭建

RHEL6 syslog日志服务器搭建[root@server ~] vi /etc/rsyslog.conf Save boot messages ao to boot.log local7.* /var/log/boot.log *.* @hostname 这里的hostname用服务器的IP地址替换。

然后重新启动服务/etc/init.d/rsyslog restart 服务器端配置: [root@server ~] vi /etc/rsyslog.conf 将下面两行的注释取消掉 Proves UDP syslog reception $ModLoad imudp.so $UDPServerRun 514 然后重新启动服务/etc/init.d/rsyslog restart 用法lsof -i:514 来查看rsyslog服务是不是正常侦听端口注重,防火墙配置的时候要开放UDP的514端口 RHEL5.4 1。

客户端客户端服务器上修改/etc/syslog.conf文件,在最后面加上下面的 *.* @hostname 这里的hostname用服务器的IP 地址替换。

重启启动服务/etc/init.d/syslog restart 2 服务器端在/etc/sysconfig/syslog文件中 Options to syslogd -m 0 disables 'MARK' messages. -r s logging from remote machines -x disables DNS ups on messages reciev with -r See syslogd(8) for details SYSLOGD_OPTIONS= -r -m 0 在这里添加一个-r 重启启动服务/etc/init.d/syslog restart 用法lsof -i:514 指令来查看rsyslog服务是不是正常侦听端口注重,防火墙配置的时候要开放UDP的514端口第1页共1页。

Linux搭建syslog服务器

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构建集中型日志服务器

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。

用Syslog记录各种OS平台日志的方法

用Syslog记录各种OS平台日志的方法

用Syslog记录各种OS平台日志的方法用 Syslog 记录各种 OS 平台日志的方法在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得到任何入侵信息。

因此,在网络中安排一台专用的日志服务器来记录系统日志是一个比较理想的方案。

本文以FreeBSD 下的syslog 为例,介绍如何利用 freebsd 的 syslogd 来记录来自 UNIX 和 windows 的 log 信息。

一、记录UNIX 类主机的log 信息首先需要对Freebsd 的syslog 进行配置,使它允许接收来自其他服务器的log 信息。

在/etc/rc.conf 中加入:syslogd_flags="-4 -a 0/0:*"说明:freebsd 的syslogd 参数设置放在/etc/rc.conf 文件的syslogd_flags 变量中Freebsd 对syslogd 的默认设置参数是syslogd_flags="-s",(可以在/etc/defaults/rc.conf 中看到) 默认的参数-s 表示打开 UDP 端口监听,但是只监听本机的 UDP 端口,拒绝接收来自其他主机的 log 信息。

如果是两个 ss,即-ss,表示不打开任何 UDP 端口,只在本机用/dev/log 设备来记录 log. 修改后的参数说明: -4 只监听 IPv4 端口,如果你的网络是 IPv6 协议,可以换成-6 -a 0/0:* 接受来自所有网段所有端口发送过来的 log 信息。

如果只希望syslogd 接收来自某特定网段的log 信息可以这样写:-a 192.168.1.0/24:* -a 192.168.1.0/24:514 或者-a 192.168.1.0/24 表示仅接收来自该网段514 端口的log 信息,这也是freebsd 的syslogd 进程默认设置,也就是说 freebsd 在接收来自其他主机的 log 信息的时候会判断对方发送信息的端口,如果对方不是用 514 端口发送的信息,那么 freebsd 的 syslogd 会拒绝接收信息。

cisco设备上启用日志及syslog服务器配置

cisco设备上启用日志及syslog服务器配置

cisco设备上启用日志及syslog服务器配置使用syslog记录Cisco设备日志以下配置描述了如何将Cisco设备的日志发往syslog服务器device#conf tdevice(config)#logging ondevice(config)#logging a.b.c.d //日志服务器的IP地址device(config)#logging facility local1//facility标识, RFC3164 规定的本地设备标识为local0 - local7device(config)#logging trap errors //日志记录级别,可用"?"查看详细内容device(config)#logging source-interface e0 //日志发出用的源IP地址device(config)#service timestamps log datetime localtime//日志记录的时间戳设置,可根据需要具体配置检验device#sh logging个人实验配置实验环境:syslog服务器:winxp (kiwi syslog) or linuxas4 (syslog) ipaddr:192.168.1.1router:cisco3640(dynamips 模拟)router(3640)配置:r1(config)#logging on#打开日志服务r1(config)#logging host 192.168.1.1#定义日志服务器地址r1(config)#service timestamps debug datetime localtime show-timezone msecr1(config)#service timestamps log datetime localtime show-timezone msec #以上2行定义时间戮r1(config)#logging facility local7#定义facility级别,默认为7r1(config)#logging trap 7#定义severity级别,(0-7),如7则=0-7全部启用syslog(windows kiwisyslog)配置kiwi syslog版本为8.2.8,因是免费版本故不支持多台设备分别记录.安装后既可,基本不用配置. syslog(linuxas4 syslog)配置明天做,缓缓网上资料配置vi /etc/sysconfig/syslog把SYSLOGD_OPTIONS="-m 0"修改为SYSLOGD_OPTIONS="-r -m 0" //-r 从远端主机写入-m 0 sables 'MARK' messagesvi /etc/syslog.conf加入下列内容把设备号为local4(PIX的默认设备号)的所有的日志记录到/var/log/router.log中#Save pix messages all to router.loglocal4.* /var/log/router.log把设备号为local5(在S8016中用info-center loghost host-ip-addr facility local-number指定)的所有的日志记录到/var/log/router.log中#Save S8016 messages all to S8016.loglocal5.* /var/log/S8016.log生成空的日志文件touch /var/log/router.logtouch /var/log/S8016.log然后重启syslog,就ok了/etc/rc.d/init.d/syslog restart别忘了设置防火墙规则,仅允许你的设备发送到udp/514(默认的UDP端口为514,默认的tcp端口为146为了避免日志过大,配置日志轮循(man logrotate 查看详细的帮助信息)vi /etc/logrotate.conf增加下列内容# system-specific logs may be also be configured here./var/log/router.log (rotate 2}/var/log/S8016.log {weekly //每周轮循rotate 4 //轮循4次}配置crontab进行日志备份,如按照日期进行备份.如网络设备很多,可把同类的设备配置为相同的设备号例:more switch.log | grep X.X.X.X //查看某一设备的日志审核和记录系统的事件是非常重要的。

创建Windows下面的syslog日志服务器

创建Windows下面的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_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服务器。

利用inotify和syslogd架设分列的日志服务器

利用inotify和syslogd架设分列的日志服务器

利用inotify和syslogd架设分列的日志服务器众所周知Linux下的syslog服务可以架设为日志服务器,接受各个linux和一些网络设备的服务日志,甚至可以结合Eventlog to Syslog Utility接收windows服务器的日志但是syslog接收下来的日志全部归结在一起,很难查询是哪一台服务器的什么服务。

为此,可以结合inotify 工具写脚本,把接收到的日志按IP以资料夹方式分列,这样很容易查询对应服务器的日志。

实施:1.在日志服务器上安装inotify,网上搜说很多的,在此不做说明;2.配置syslog服务端:#ps -ef|grep syslogd查看参数中是否有-r,如我的结果是syslog 16247 1 0 Nov16 ? 00:02:36 /sbin/syslogd -r -u syslog如果没有,在syslogd的启动中加入参数,这里不详解3.配置syslog客服端:在/etc/syslog.conf 的前几行增加如下参数,重新启动syslog服务即可:*.* @x.x.x.x #x.x.x.x为日志服务器ip地址,现在服务器端就可以接收来自客服端的日志了。

4.实现日志按照ip地址分列:a).将以下脚本拷贝到/etc/init.d/logmonitor,并增加执行权限:chmod +x /etc/init.d/ logmonitor,注意红色字体部分要根据自己实际情况更改路径:#!/bin/bashPATH=/usr/bin:/usr/local/bin:/bininotifywait=/usr/local/bin/inotifywait #inotifywait 执行程序路径logpath=/var/log #本机的syslog所在路径splitlog=/opt/log #分列后按IP归结的日志路径,不要和上面一行在同一个路径echo "`date` logmoniter start">>/var/log/logmoniterlogsplit() {$inotifywait -mrq -e create,modify --format '%w %e %f' $logpath|while read w e f;doif [ "$e" = "IGNORED" ];thencontinuefiActionsplit(){last=`tail -n 1 $w/$f`ip=`echo $last|grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'| cut -d " " -f 4`echo $ip|grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' >/dev/ null || ip=localsubsplitlog=$splitlog/$ipif [ ! -e $subsplitlog ];thenmkdir -p $subsplitlog#设置日志logrotatecat >>"/etc/logrotate.d/logserver"<<_EOF$subsplitlog/* {weeklymissingokrotate 2size 5Mcompress}_EOF$syslogserver restartfiecho "$last">>$subsplitlog/$fecho -e "$last \033[32m >>$subsplitlog/$f \033[0m">/dev/pts/1}[ $f != "wtmp" ] && [ $f != "lastlog" ] && Actionsplitdone}case "$1" instart)logsplit &echo "logmoniter start ok!";;stop)killall inotifywait;;restart)$0 stop$0 start;;*)echo $"Usage: logmoniter {start|stop|restart}";;esacexit 02).根据系统不同将服务安装到启动:#runlevel 查看系统启动的级别,然后将/etc/init.d/ logmonitor连接到对应的服务级别:如unbuntu一般是2: ln -s /etc/init.d/logmonitor /etc/ rc2.d/S88logmonitor ,这样下次系统开机的时候也会自动启动服务了3).启动服务:/etc/init.d/logmonitor restart, 现在去你定义的分列路径就可以看到对应IP下的日志了。

Linux系统日志管理使用syslog和logrotate

Linux系统日志管理使用syslog和logrotate

Linux系统日志管理使用syslog和logrotate Linux系统由许多不同的组件组成,每个组件都会产生日志信息,这些日志是诊断和故障排除的重要工具。

为了有效地管理和存储这些日志,Linux系统提供了一些工具和技术。

本文将重点介绍syslog和logrotate这两个工具,它们在Linux系统日志管理中起到关键的作用。

一、syslogsyslog是Linux系统中的一个强大的日志管理器。

它负责收集、存储和传输各种系统日志信息。

syslog提供了一个标准化的接口,让不同的应用程序和服务都能将日志信息发送到同一个地方。

1. 配置syslogsyslog的配置文件位于/etc/syslog.conf。

通过编辑该文件,可以定义不同级别的日志信息应该被保存在哪个文件中。

例如,可以将错误级别的日志信息保存在一个独立的文件中,以便更方便地查找和分析。

2. 使用syslog在应用程序或服务的配置文件中,可以通过syslog将日志信息发送到syslog服务器。

这样,所有的日志信息都会被中心化地收集和管理,方便日后的分析和审查。

二、logrotatelogrotate是一个用于自动轮转日志文件的工具。

在Linux系统上,日志文件会不断地增大,如果不及时处理,将会占用大量的存储空间。

logrotate可以根据预定义的规则定期地对日志文件进行轮转,将旧的日志文件压缩或删除,以便释放存储空间。

1. 配置logrotatelogrotate的配置文件位于/etc/logrotate.conf。

通过编辑该文件,可以定义日志文件的轮转规则,包括轮转的频率、保留的历史日志文件数量等。

2. 使用logrotatelogrotate默认会按照配置文件中定义的规则对指定的日志文件进行轮转。

可以使用命令行工具`logrotate`手动执行轮转操作,也可以通过配置cron任务实现定期的自动轮转。

三、syslog和logrotate的配合使用syslog和logrotate是两个独立的工具,但它们可以很好地协作,完成对Linux系统日志的管理。

freebsd-syslog配置日志服务器

freebsd-syslog配置日志服务器

freebsd-syslog配置日志服务器FreeBSD Syslog配置日志服务器日志服务器对于系统管理和故障排除来说至关重要。

通过配置FreeBSD服务器的Syslog服务,您可以集中存储和管理所有系统和应用程序的日志信息。

本文将引导您配置FreeBSD服务器作为日志服务器的步骤,并确保其良好的可读性和安全性。

1. 安装Syslog守护程序Syslog守护程序是一种能够接收、存储和转发系统日志信息的服务。

在FreeBSD上,我们可以使用syslog-ng或rsyslog等工具来实现这一功能。

在本例中,我们将使用rsyslog作为示例。

在终端中执行以下命令,安装并启动rsyslog服务:```$ pkg install rsyslog$ sysrc rsyslogd_enable="YES"$ service rsyslog start```2. 配置rsyslog接下来,我们需要配置rsyslog以充分满足我们的要求。

编辑rsyslog的配置文件`/usr/local/etc/rsyslog.conf`,并根据您的需求进行相应的更改。

a. 定义默认模板在配置文件的顶部,我们将定义默认的模板,以便日志消息以可读的格式呈现:```$templatePerHostLog,"/var/log/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DA Y%.log"$template RemoteHostLog,"/var/log/remote/%FROMHOST-IP%/%$YEAR%/%$MONTH%/%$DAY%.log"$ActionFileDefaultTemplate PerHostLog$ActionFileDefaultTemplate RemoteHostLog```以上代码将日志消息按照主机名和日期存储在相应的目录中。

利用SyslogWatcher在windows下部署syslog日志服务器

利用SyslogWatcher在windows下部署syslog日志服务器

利⽤SyslogWatcher在windows下部署syslog⽇志服务器1.概述syslog协议是各种⽹络设备、服务器⽀持的⽹络⽇志记录标准。

Syslog消息提供有关⽹络事件和错误的信息。

系统管理员使⽤Syslog进⾏⽹络管理和安全审核。

通过专⽤的syslog服务器和syslog协议将来⾃整个⽹络的事件记录整合到⼀个中央存储库中,对于⽹络安全具有重⼤意义,syslog⽇志服务器可收集,解析,存储,分析和解释系统⽇志消息给专业⽹络安全管理员,有助于提⾼⽹络的稳定性和可靠性。

通过Syslog Watcher可在windows平台搭建⽇志集中服务器,便于管理并满⾜合规需求。

2.安装服务端可前往下载软件并安装。

在Syslog Watcher部署完成后需对其配置进⾏修改,主要修改如下:将编码格式修改为UTF-8不然会出现⽇志乱码问题。

可⾃定义监听端⼝3.安装客户端本⽂使⽤作为windows⽇志⼿机客户端,可前往下载软件并安装。

在部署完成后需对nxlog.conf配置⽂件进⾏修改,主要修改如下:Panic Soft#NoFreeOnExit TRUEdefine ROOT D:\nxlog #安装路径define CERTDIR %ROOT%\certdefine CONFDIR %ROOT%\confdefine LOGDIR %ROOT%\datadefine LOGFILE %ROOT%\data\nxlog.log #⽇志路径LogFile %LOGFILE%Moduledir %ROOT%\modulesCacheDir %ROOT%\dataPidfile %ROOT%\data\nxlog.pidSpoolDir %ROOT%\data<Extension _syslog>Module xm_syslog #syslog服务</Extension><Input in>Module im_msvistalog #对windowsvista及以上适⽤ReadFromLast FALSESavePos FALSE# Query <QueryList>\# <Query Id="0">\# <Select Path="Application">*</Select>\# <Select Path="System">*</Select>\# <Select Path="Security">*</Select>\# </Query>\# </QueryList></Input><Output out> #输出到远程⽇志服务器Module om_udpHost 10.10.0.36Port 514Exec to_syslog_snare();</Output><Output out2> #输出到远程⽇志服务器Module om_udpHost 10.10.0.37Port 666Exec to_syslog_snare();</Output><Route 1> #输出规则Path in => out</Route><Route 2> #输出规则Path in => out2</Route>#<Extension _charconv># Module xm_charconv# AutodetectCharsets gb2312# AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32#</Extension><Extension _exec>Module xm_exec</Extension><Extension _fileop>Module xm_fileop# Check the size of our log file hourly, rotate if larger than 5MB<Schedule>Every 1 hourExec if (file_exists('%LOGFILE%') and \(file_size('%LOGFILE%') >= 5M)) \file_cycle('%LOGFILE%', 8);</Schedule># Rotate our log file every week on Sunday at midnight<Schedule>When @weeklyExec if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);</Schedule></Extension>。

syslog-系统日志应用

syslog-系统日志应用

syslog-系统日志应用syslog 系统日志应用1) 概述syslog是Linux系统默认的日志守护进程。

默认的syslog配置文件是/etc/syslog.conf文件。

程序,守护进程和内核提供了访问系统的日志信息。

因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。

几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd 监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。

意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。

通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。

/etc/syslog.conf 文件通知syslogd 如何根据设备和信息重要级别来报告信息。

2) etc/syslog.conf/etc/syslog.conf 文件使用下面的格式:facility.level actionfacility.level为选择条件本身分为两个字段,之间用一个小数点(.)分隔。

action和facility.level之间使用TAB隔开。

前一字段是一项服务,后一字段是一个优先级。

选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。

在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。

action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。

要素分析:facility 指定 syslog 功能,主要包括以下这些:kern 内核信息,首先通过 klogd 传递;user 用户进程;mail 邮件;daemon 后台进程;authpriv 授权信息;syslog 系统日志;lpr 打印信息;news 新闻组信息;uucp 由uucp生成的信息cron 计划和任务信息。

freebsd-syslog配置日志服务器

freebsd-syslog配置日志服务器

在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得到任何入侵信息。

因此,在网络中安排一台专用的日志服务器来记录系统日志是一个比较理想的方案。

本文以FreeBSD下的syslog为例,介绍如何利用freebsd的syslogd来记录来自UNIX和windows的log信息。

一,记录UNIX类主机的log信息:首先需要对Freebsd的syslog进行配置,使它允许接收来自其他服务器的log信息。

在/etc/rc.conf中加入:syslogd_flags="-4 -a 0/0:*"说明:freebsd的syslogd参数设置放在/etc/rc.conf文件的syslogd_flags变量中Freebsd对syslogd的默认设置参数是syslogd_flags="-s",(可以在/etc/defaults/rc.conf中看到)默认的参数-s表示打开UDP端口监听,但是只监听本机的UDP端口,拒绝接收来自其他主机的log信息。

如果是两个ss,即-ss,表示不打开任何UDP端口,只在本机用/dev/log设备来记录log.修改后的参数说明:-4 只监听IPv4端口,如果你的网络是IPv6协议,可以换成-6-a 0/0:* 接受来自所有网段所有端口发送过来的log信息。

如果只希望syslogd接收来自某特定网段的log信息可以这样写:-a 192.168.1.0/24:*-a 192.168.1.0/24:514或者-a 192.168.1.0/24表示仅接收来自该网段514端口的log信息,这也是freebsd的syslogd进程默认设置,也就是说freebsd 在接收来自其他主机的log信息的时候会判断对方发送信息的端口,如果对方不是用514端口发送的信息,那么freebsd的syslogd会拒绝接收信息。

【精品文档】syslog记录日志-范文模板 (17页)

【精品文档】syslog记录日志-范文模板 (17页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==syslog记录日志篇一:syslog 系统日志应用syslog 系统日志应用1) 概述syslog是Linux系统默认的日志守护进程。

默认的syslog配置文件是/etc/syslog.conf文件。

程序,守护进程和内核提供了访问系统的日志信息。

因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。

几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。

意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。

通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。

/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。

2) etc/syslog.conf/etc/syslog.conf 文件使用下面的格式:facility.level actionfacility.level为选择条件本身分为两个字段,之间用一个小数点(.)分隔。

action和facility.level之间使用TAB隔开。

前一字段是一项服务,后一字段是一个优先级。

选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。

在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。

action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安装过程
1、运行Kiwi Syslog 安装包里的Kiwi_Syslog_Server_9.2.1.Eval.setup.exe,弹出安装界面,点击“I agree”
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字段(设置最终日志存储目录)
实例测试
Windows环境(亲测)
把这两个文件拷贝到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的界面上.。

相关文档
最新文档