Syslog日志服务器设计
syslog监控功能概要设计说明

Syslog监控功能概要设计说明1.总体设计系统日志(Syslog)协议是在一个IP网络中转发系统日志信息的标准,它是在美国加州大学伯克利软件分布研究中心(BSD)的TCP/IP系统实施中开发的,目前已成为工业标准协议,可用它记录设备的日志。
Syslog记录着系统中的任何事件,管理者可以通过查看系统记录随时掌握系统状况。
系统日志通过Syslog 进程记录系统的有关事件,也可以记录应用程序运作事件。
通过适当配置,还可以实现运行Syslog协议的机器之间的通信。
通过分析这些网络行为日志,可追踪和掌握与设备和网络有关的情况。
通过在云平台节点和被监控设备上配置Syslog服务,可以实现对被监控设备的监控。
云平台Syslog监控功能示意如下:网络设备安全设备服务器(1)Syslog服务器端监听随云平台(节点)启动时而启动。
(2)在被监控端配置Syslog服务,被监控端包括服务器、网络设备、安全设备、存储设备等。
(3)被监控端向云平台发送Syslog日志,云平台根据用户定义的规则进行处理。
(告警,保存到数据库)2.接口设计2.1.用户接口2.1.1.增/删/改Syslog监控节点输入项:Syslog服务端IP地址。
端口,默认514。
协议,默认udp。
界面:参考本系统监控器相关界面。
2.1.2.查看Syslog日志类似告警信息查看界面,提供集中查看和按被监控对象进行分对象查看。
2.1.3.设置告警规则在被监控端设置告警规则,告警规则主要由正则表达式组成,系统通过对Syslog日志和规则进行比对触发告警事件。
2.2.内部接口2.2.1.调度接口根据系统设置,在调度任务启动时,将Syslog服务端监听进程同时启动。
2.2.2.告警接口根据告警规则设置,系统接收到Syslog日志时和告警规则进行比对,如果与告警规则匹配则调用相应的告警功能。
2.2.3.保存接口系统在接收到Syslog日志,并进行告警处理后,将调用保存接口将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架设windows日志服务器-qzt1023-51CTO技术博客

Syslog架设windows日志服务器-qzt1023-51CTO技术博客Syslog架设windows日志服务器1 winodws服务器的配置因为windows服务器不支持日志服务器,因此需要安装一个转换软件:下载地址为:根据系统的版本下载32位和64位的程序。
解压后是两个文件evtsys.dll和evtsys.exe把这两个文件拷贝到 c:\windows\system32目录下。
evtsys命令U sage: evtsys.exe -i|-u|-d [-h host] [-p port] [-q char]-i Install service (安装服务)-u Uninstall service (卸载服务)-d Debug: run as console program (以debug模式运行)-h host Name of log host (日志服务器IP地址)-p port Port number of syslogd (日志服务器端口,默认是514) -q char Quote messages with character打开Windows命令提示符(开始->运行输入CMD)C:\>evtsys –i –h 192.168.28.4 #(日志服务器的IP地址)-i 表示安装成系统服务-h 指定log服务器的IP地址启动该服务:C:\>net start evtsys打开windows组策略编辑器 (开始->运行输入 gpedit.msc)在windows 设置-> 安全设置-> 本地策略->审核策略中,打开你需要记录的windows日志。
evtsys会实时的判断是否有新的win dows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 3072端口发送给syslogd服务器。
OK,所有的配置windo ws端配置完成.如果要卸载evtsys,则:net stop evtsysevtsys -u2 优先级优先级是选择条件的第二个字段,它代表消息的紧急程度。
Syslog服务器的设置

Syslog服务器的设置
首先在一个PC上安装syslog软件。
目前syslog软件可以运行在Windows、Linux和Unix 上,请随便做一个syslog服务器。
我们推荐一个运行在Windows平台上的syslog服务器软件,kiwi-syslog。
请到下面的站点下载:
然后在防火墙上作如下设置:
Kiwi_SysLog服务器日志设置
使用Kiwi_SysLog软件可以把日志进行分类存储,如按照日志的时间进行存储。
具体的设置方法如下:
日期:yyyy-mm-dd 时间:hour
具体的设置请看“Insert AutoSplit value”
●如上图的设置,日志的记录将会是这样的:
其中D:\Logs\2004-03-14\表示每天的日志,在每天的日志中,LOG_15表示下午三点的记录,LOG_16表示下午四点的记录,依此类推。
这样就可以分别记录。
●如果要对日志进行查询、排序等工作,需要用到微软的Access数据库进行处理。
具体的操作是“文件”→“新建”→“空数据库”→“文件”→“获取外部数据”→“导入”→然后选择日志文件→选择“带分隔符”→选择“分号”→“完成”。
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) 日志主机上的配置。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动化专业综合设计说明书课题名称:Syslog日志服务器设计学生学号:专业班级:学生姓名:学生成绩:指导教师:课题工作时间:至xxxx教务处制一、课程设计的任务的基本要求:该课程设计主要的任务是编写一种可以被记录到不同的文件,还可以通过网络实现运行syslog协议的机器之间的信息传递的叫做syslog协议的这么一个课题。
Syslog已被许多日志函数采纳,它用在许多保护措施中——任何行为都可以通过syslog 记录事件。
通过System Call,记录用户自行开发的应用程序的运行状况。
日志系统的重点之一便是要研究及开发一些系统程序,该课题的设计过程要求先做好课题设计的大纲包括该课题应包括那些模块,要实现哪些功能,代码要用什么语言来写以及要用什么编译工具来编译运行该课题和运行的结果是什么样的,要用流程图把各个模块的连接关系一一的列出来,设计者应该有敢于创新和勇于负责的精神,从投入施工的角度来严肃对待自己的设计,使自己的设计能最大限度满足生产实际需要,既经济,又可靠。
二、课题设计框图:syslog syslog syslog消息队列File文件Server函数save指导教师签字:教研室主任签字:年月日年月日二、进度安排:第一周:(1) 指导教师讲解设计要求、规程、部分相关国家标准及有关技术规范、参考资料等事项。
(2)采用计算机辅助软件绘制工艺流程图结合设计题目熟悉代码流程。
第二周:(3)在熟悉代码流程的基础上,针对典型流程图进行代码分析。
第三周:(4) 按代码功能模块的顺序画出代码流程图。
(5) 讲画好的代码框图与小组的其他成员讨论研究其缜密性和可行性,找出该流程的弊端和矛盾之处,最终确定更好的代码顺序方案。
第四周:(6) 按照流程图编写代码,并且在编写代码的过程中要每写一个模块就要编译一次避免不必要的错误。
(7) 最后撰写详细的设计文档并让指导老师审核。
三、应收集资料及主要参考文献:[1]中软国际·LINUX系统程序设计[2]谭浩强 C程序设计(第三版)[3]严蔚敏,吴伟民数据结构(C语言篇)[4]张宇河,董宁·计算机控制系统·北京:北京理工大学出版社,2002[5]谢希仁计算机网络(第五版)[6]刘兵,吴煜煌 LINUX实用教程四、课程设计摘要(中文):Syslog是一种工业标准的协议,可用来记录设备的日志。
在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。
管理者可以通过查看系统记录,随时掌握系统状况。
UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。
通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
从目前的情况来看,Syslog(系统日志)这一历史悠久的日志系统仍旧占据着最主流的地位。
由于与类 UNIX平台之间的渊源,Syslog是在实际应用环境中最容易获得的日志系统。
同时,还有很多的基于Syslog的扩展产品存在,这其中也包括大量基于UNIX平台构建内核的网络硬件设备,这些设备往往都内置了Syslog功能支持,例如Cisco路由器就是如此。
六、成绩评定:指导教师评语:指导教师签字:年月日项目评价项目评价调查论证工作量、工作态度实践能力分析、解决问题能力质量创新得分六、答辩记录:该课题是基于LINUX环境下的设计,它实现的功能是任意的一个进程都能调用syslog函数,并且可以随意的将任何信息传送至文本文件中。
该功能的实现和设计报告所写完全一致。
当遇到编译错误是设计者是这样做的:首先分清每个模块的功能,然后将整个代码流程逐行检查,并且在每个模块上加上一系列的打印信息,再次编译并观察代码运行到哪一行,然后在有问题的代码出处进行改正。
设计者采用先做粗略的设计文档在进行代码编写,这样做的好处是保证了代码的缜密性和严谨性。
答辩意见及答辩成绩答辩小组教师(签字):年月日总评成绩:(教师评分×75%+答辩成绩×25%)目录摘要 0绪论 (1)1.引言 (1)2.网络管理的原则和要求 (1)3.集中式网络管理的实现 (1)第一章 Syslog协议 (2)1.1 Syslog简介 (2)1.2 Syslog协议 (2)1.3 Syslog体系结构 (3)1.4 Syslog包格式 (3)1.4.1 PRI (3)1.4.2 HEADER部分 (5)1.4.3 MSG部分 (5)第二章Syslog配置 (6)2.1 概览 (6)2.2选择符 (6)2.3动作 (7)2.4 C语言中的syslog (7)closelog (9)第三章功能模块的设计 (10)3.1 功能框架图 (10)3.2 程序流程图 (11)第四章代码介绍 (12)4.1 编码步骤 (12)4.2 代码解析 (12)4.2.1 main函数的设计 (12)4.2.2 syslog()函数的设计 (13)4.2.3 server()函数的设计 (16)4.2.4 save_to_file()函数的设计 (18)第五章课程总结 (20)参考文献 (20)摘要Syslog是一种工业标准的协议,可用来记录设备的日志。
在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。
管理者可以通过查看系统记录,随时掌握系统状况。
UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。
通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
从目前的情况来看,Syslog(系统日志)这一历史悠久的日志系统仍旧占据着最主流的地位。
由于与类 UNIX平台之间的渊源,Syslog是在实际应用环境中最容易获得的日志系统。
同时,还有很多的基于Syslog的扩展产品存在,这其中也包括大量基于UNIX平台构建内核的网络硬件设备,这些设备往往都内置了Syslog功能支持,例如Cisco路由器就是如此。
关键词:Syslog,Syslogd,Priority(PRI),Facility,Severity,Header,Message(MSG),Timestamp绪论本文档规定了syslog项目各模块的详细设计,函数设计,数据结构。
用于在linux下进行syslog的开发标准。
1.引言电信运营商的网络庞大而复杂,其上运行着多种网络设备、主机系统以及业务应用。
而且随着电信业的不断发展,各种新业务的推出,不同的系统纷纷建立,网络的复杂性不断增长,使得被管理的对象在系统中不是集中的而是分散的。
分布式的管理必然要求网络管理员在网络的协议层次结构上对系统管理做出重新的认识,通过适当的策略实现集中式管理,实现事件的实时监控和快速响应的网络管理。
传统的网络管理员关心的问题不单是安装配置、备份恢复、系统安全、性能优化等,还必须从OSI模型不同的层次重新考虑系统管理的内容和形式,再加上承载业务的特点,侧重于事件监控和响应的建设是当今网络管理的主要方向。
2.网络管理的原则和要求从技术的角度来说,网络管理有两条原则:1、由于管理信息而带来的通行量不应明显的增加网络的通信量。
2、被管理设备上的协议代理不应明显得增加系统处理的额外开销,以致于该设备的主要功能都被削弱。
网络管理的对象主要是构成网络的硬件和软件应用所组成。
这一类包括工作站、服务器、网卡、路由器、网桥和集线器等等。
通常情况下这些设备都分散在不同的地方,另外由于设备众多,要做到实时实地管理需要大量的人力和物力。
有什么办法可以对网络设备进行远程管理和状态进行预警呢?3.集中式网络管理的实现实际工作中,由于管理员不可能7×24小时监视着网络设备,网络运行中可能会发生很多突发情况。
因此,使用日志记录设备的报警信息十分重要,管理员可以借此对安全事件进行原因追查和故障排除等工作。
以路由器为例,一般都会设定内存保留Syslog。
但路由器的内存(Buffer)容量有限,大量事件发生时,会覆盖之前的记录,不利于实时预警和报告。
而对UNIX系统来说,由于管理设备的多样性和数量的缘故,一台台登录访问日志效率低下也不现实。
所以有必要建立专门的日志服务器,通过Syslog服务,接收设备发送出的报警信息。
第一章 Syslog协议1.1 Syslog简介Syslog是一种工业标准的协议,可用来记录设备的日志。
在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。
管理者可以通过查看系统记录,随时掌握系统状况。
在UNIX系统里,被syslog协议接受的事件可以被记录到不同的文件,还可以通过网络实现运行syslog协议的机器之间的信息传递。
Syslog已被许多日志函数采纳,它用在许多保护措施中——任何行为都可以通过syslog 记录事件。
通过System Call,记录用户自行开发的应用程序的运行状况。
日志系统的重点之一便是要研究及开发一些系统程序,例如logger等,将网络应用程序重要的行为向 syslog接口呼叫并记录为日志,大部分内部系统工具如邮件和打印系统都是如此生成信息的,许多新增的程序如Tcpwrappers和SSH也是如此工作的。
通过syslogd(负责大部分系统事件的daemon),系统事件可以写到一个文件或设备中,或给用户发送一个信息。
它能记录本地事件或通过网络记录远端设备上的事件。
1.2 Syslog协议syslog使用UDP协议作为它的传输层协议,其默认使用UDP端口514。
Syslog协议提供了一个传递方式,允许一个设备通过网络把事件信息传递给事件信息接受者(也称之为日志服务器)。
由于每个进程、应用程序和操作系统都或多或少地被独立完成,在syslog信息内容会有一些不一致的地方。
因此,协议中并没有任何关于信息的格式或内容的假设。
这个协议就是简单地被设计用来传送事件信息,但是事件已经被接受到不会被通知。
Syslog协议和进程最基本原则就是简单,在协议的发送者和接受者之间不要求有严格的相互协调。
事实上, syslog信息的传递可以在接受器没有被配置甚至没有接受器的情况下开始。
反过来,在没有被清晰配置或者定义的情况下,接收器也可以接收到信息。
几乎所有的网络设备都可以通过syslog protocol将日志信息以UDP方式传送到远端服务器,远端接收日志服务器必须通过syslogd来监听UDP Port 514,并且据syslog.conf中的配置来处理本机和接收访问系统的日志信息,把指定的事件写入特定档案中,供后台数据库管理和响应之用。