Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1145719
  • 博文数量: 646
  • 博客积分: 288
  • 博客等级: 二等列兵
  • 技术积分: 5375
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 14:33
个人简介

为了技术,我不会停下学习的脚步,我相信我还能走二十年。

文章分类

全部博文(646)

文章存档

2014年(8)

2013年(134)

2012年(504)

分类:

2012-06-19 23:16:09

原文地址:syslog详解 作者:yelingxiao

Syslog在网管理中的 (自上海信信网部 王文)


摘要
Syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX,路由器、交机等网络设备中,系日志(System Log记录中任何时间发生的大小事件。管理者可以通过查看系统记录,随掌握系状况。UNIX的系日志是通syslogd记录有 关事件记录,也可以记录应用程序运作事件。通适当的配置,我们还可以实现运行syslog协议的机器通信,通分析些网日志,藉以追踪掌握与 设备和网有关的状况。
键词SyslogSyslogdPriorityPRI),FacilitySeverityHeaderMessageMSG),Timestamp
1.引言
    信运商的网络庞大而复,其上运行着多种网络设备、主机系以及业务应用。而且随着的不断展,各种新业务的推出,不同的系统纷纷建立,网的 复性不断增,使得被管理的象在系中不是集中的而是分散的。分布式的管理必然要求网管理在网协议层构上管理做出重新的认识,通 适当的策略实现集中式管理,实现事件的实时监控和快速响的网管理。传统的网管理关心的问题是安装配置、份恢复、系安全、性能化等,OSI模型不同的次重新考管理的内容和形式,再加上承载业务的特点,重于事件控和响的建是当今网管理的主要方向。
2
.网
管理的原和要求
    从技的角度来,网管理有两条原1、由于管理信息而来的通行量不的增加网的通信量。2、被管理设备上的协议代理不得增加系统处理 的外开,以致于该设备的主要功能都被削弱。网管理的象主要是构成网的硬件和用所成。包括工作站、服器、网卡、路由器、网和集 线器等等。通常情况下设备都分散在不同的地方,另外由于设备众多,要做到实时实地管理需要大量的人力和物力。有什么法可以络设备进程管理和状态进警呢?
3
.集中式网
管理的实现
    实际工作中,由于管理不可能7×24时监视着网络设备,网运行中可能会生很多突情况。因此,使用日志记录设备警信息十分重要,管理可以借此安全事件行原因追和故障排除等工作。以路由器例,一般都会定内存保留Syslog。但路由器的内存(Buffer)容量有限,大量事件,会覆盖之前的记录,不利于实时预警和告。而UNIX,由于管理设备的多性和数量的故,一台台登录访问日志效率低下也不现实。所以有必要建立专门的日志服器,通Syslog,接收设备发送出的警信息。
4
Syslog在网
管理中的
4.1. Syslog Protocol

    Syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX,路由器、交机等网络设备中,系日志(System Log记录中任何时间发生的大小事件。管理者可以通过查看系统记录,随掌握系状况。在UNIX里,被syslog协议接受的事件可以被记录 到不同的文件,可以通络实现运行syslog协议的机器之的信息传递
Syslog
已被
多日志函数采,它用在多保措施中——任何行都可以通syslog 记录事件。通System Call记录自行开用程序的运行状况。日志系的重点之一便是要研究及开一些系程序,例如logger等,将网络应用程序重要的行 syslog接口呼叫并记录为日志,大部分内部系工具如件和打印系都是如此生成信息的,多新增的程序如TcpwrappersSSH也是如此工 作的。通syslogd负责大部分系事件的daemon),系事件可以写到一个文件或设备中,或户发送一个信息。它能记录本地事件或通 记录远设备上的事件。

1   Syslogd运作
4.2. Syslog
在网管理方面
    Syslog协议提供了一个传递方式,允一个设备把事件信息传递给事件信息接受者(也称之日志服)。由于每个程、用程序和操作系都 或多或少地被独立完成,在syslog信息内容会有一些不一致的地方。因此,协议中并没有任何关于信息的格式或内容的假协议就是简单地被设计用来 送事件信息,但是事件已被接受到不会被通知。Syslog协议程最基本原就是简单,在协议送者和接受者之不要求有格的相互协调。事 上, syslog信息的传递可以在接受器没有被配置甚至没有接受器的情况下开始。反来,在没有被清晰配置或者定的情况下,接收器也可以接收到信息。
   
几乎所有的网
络设备都可以通syslog protocol将日志信息以UDP方式送到端服器,端接收日志服器必syslogdUDP Port 514,并且根据syslog.conf中的配置来理本机和接收访问的日志信息,把指定的事件写入特定档案中,供后台数据管理和响之用。也就是 可以任何所生的事件都登到一台或多台服器上,以便后台数据可以相对远设备Off-line的方法分析事件。

                           
2日志分析系架构
4.3. Syslog
的格式
    设备一些规则来配置,以便示或者传递事件信息。不管管理决定怎配置事件信息的理,把些信息送到syslog接受者的程一般都由下面部分构成:决定哪个帮助信息要被送,要被送的级别,定义远程的接受者。
   
传输syslog信息的格式主要有3个容易识别出来的部分,分PRIHEADERMSG。数据包的度小于1024个 字PRI部分必345个字符,以“<”,然后是一个数字,并以“>”尾。在方括号内的数字被称为优Priority),由facilityseverity两个构成。信息中的facilitiesseverities值进行数字的 。一些操作系的后台控程序和程被分配一个facility,那些没有分配一个facility程和daemons将会使用“local use”facilities或者户级别facilities。下面的表格表示被指定的Facilities对应的数字代
Numerical Code            Facility
0                    kernel messages                             
1                  user-level messages
2                  mail system      
3                  system daemons                              
4                  security/authorization messages            
5                  messages generated internally by syslogd   
6                  line printer subsystem                     
7                  network news subsystem                     
8                  UUCP subsystem                              
9                  clock daemon                                
10                  security/authorization messages            
11                  FTP daemon                                 
12                  NTP subsystem                              
13                  log audit                                   
14                  log alert                                   
15                  clock daemon                                
16                  local use 0  (local0)                    
17                   local use 1  (local1)                       
18                   local use 2  (local2)                       
19                   local use 3  (local3)                       
20                   local use 4  (local4)                       
21                   local use 5  (local5)                       
22                   local use 6  (local6)                       
23                   local use 7  (local7)                       
                     
1    Syslog Message Facilities
每个信息也有一个表示十Severity的参数, 下面的表格描述出他对应
Numerical Code                 Severity
         
0                   Emergency
1                   Alert
2                   Critical
3                   Error
4                   Warning
5                   Notice
6                   Informational
7                         Debug
                           
2   Syslog Message Severities
    Priority
= facility * 8 + severity。比如,一个核心信息(facility=0)和一个Emergencyseverity将会级为0。同, 一个“local use 4”信息(facility=20)和一个Noticeseverityseverity=5)将会165
   
标题HEADER)部分由称TIMESTAMPHOSTNAME的两个域成,PRI尾的“>”上跟着一个 TIMESTAMP,任何一个TIMESTAMP或者HOSTNAME域后面都必跟着一个空格字符。HOSTNAME包含主机的名称,若无主机名或无法 识别则显IP地址。如果一个主机有多个IP地址,它通常会使用它送信息的那个IP地址。TIMESTAMP是本机时间,采用的格式是“Mmm dd hh:mm:ss”表示月日分秒。HOSTNAME仅仅包括主机名称,Ipv4地址或者是信息生者的Ipv6地址。
    MSG
部分是Syslog数据包剩下的部分。通常包含了生信息程的外信息,以及信息的文本部分。MSG部分有两个域,分别为TAG域和 CONTENT域,TAG域的生信息的程序或者程的名称,CONTENT包含了个信息的详细内容。传统上来个域的格式较为自由,并且出 一些时间的具体信息。TAG是一个不32个字符的字母数字字符串,任何一个非字母数字字符都将会TAG域,并且被假CONTENT域的开 始。在大多数情况下,表示TAG束的CONTENT域的第一个字符用左大括号( [ ],分号( : )或者是空格来表示。
4.3. Syslog
送和接收
    接受端服器收到它的syslog数据包,它将检查它的有效PRI。如果第一次字符不是一个“<”,或者第三、第四或者第五不是一个 “>”,接收端将认为数据包没有包含有效的PRI。接着检查标题部分的有效TIMESTAMP,从规则中,信息的接收一般有三个情况,下面 出了三个情况的通常属性,并列了随后在篇中什么地方会描写些情况。
   
有效的PRI and TIMESTAMP:在数据包中发现一个有效的PRITIMESTAMP,那么会接着检查数据包的内部配置,接收端必根据数据包的原,或者 在不数据包做任何化的情况下将它转发出去。里要注意到的是接受端没有必要确TIMSTIMP里面的时间,同接收端也没有必要确 HOSTANME送信息设备的主机名或者IP地址一致。
   
有效的 PRI,但没有TIMESTAMP 或者TIMESTAMP无效:要是在数据包中发现一个有效的TIMESTAMP,那么必须马上添加一个TIMESTAMP和一个空格字符在PRI部分的 尾的方括号内,它添加一个HOSTNAME和空格字符在TIMESTAMP后面,接收到的信息包剩下的部分必被当曾MSGCONTENT域并附 加上,由于无法识别产生信息的设备出的程,TAG无法被识别出来, 所以不会包含再里面。TIMESTAMP将会是接收端的本地时间HOSTNAME设备的名称,它被中器所识别。如果名字如能被决定, 设备IP地址将被使用到。要是中器添加一个TIMESTAMP(或者同添加TIMESTAMPHOSTNAME)PRI后面, 然后 是否数据包的度仍然小于或等于1024个字。如果数据包被展超1024个比特, 器必截去一部分数据包数据使它到达到1024比特。将会致原始数据包尾部分重要信息的. 所以,就是生的syslog数据包的PRIHEADER部分包含在4.3记录和域之中的故。
   
没有 PRI or 或者 PRI无法识别:如果收不到PRI或者PRI不可识别,除了必插入一个级为13PRI和我在上面描述的TIMESTAMP插入一个 HOSTNAME。被接收到的数据包的全部内容将被认为是被传递MSGCONTENT并被添加在后面。一个不可识别PRI的例子就是“< 00>”是一个信息的前4个字符。如果接收到这样syslog信息,那么它的将被中器或收集者改13,并且加入 TIMESTAMP。具体如下:
      
原来接收到的信息
<00>...
传递识别的信息
<13>TIMESTAMP HOSTNAME <00>...
   
如果中器添加一个TIMESTAMP(或者同添加一个TIMESTAMPHOSTNAME)PRI后面, 那么它将检查这个数据包的度是否等于或者小于1024个比特。
   
UNIX文件系syslog设备依据两个重要的文件:syslogd(守护进程)和syslog.conf配置文件。习惯上,多数syslog 信息被写到/var/adm/var/log下的信息文件中(syslogmessages.*)。一个典型的syslog纪录包括生成程序的名 字和一个文本信息。它包括一个设备和一个(但不在日志中出)。Syslog.conf的格式比,大家可以参考一下有关籍(或者在主 机上man syslog.conf),主要是如下句形式: facilitylevelactionFacility代表各种服level代表syslog认证级别action代表的是针对前面信息 的作。Action字段如果是@loghos(主机名或具体IP),把信息送到loghost,而不是本地的 /var/adm/messages
4.4.
配置
4.4.1 UNIX à UNIX

接收端置:
采用一台Sun器作日志接收服器(Hostnamenmtest1-ydIP192.168.3.71)。一般情况下,UNIX的 本地系日志都存放在/var卷下(Solaris存放在/var/adm/messages),当然我也可以更改存放路径。根据需求,配置 syslogd.conf文件,重启syslogd用。用多的message可能会增大很多,可以做一些简单的分即可。
# vi   /etc/syslogd.conf
kern.crit  /dev/console       *
kern.critkern.alertkern.emerg相关信息送到系consle
authpriv.* /var/log/securelog   
mail.info;mail.!err /var/log/maillog   *
mail信息priority大于等于info,但priorityerror除外的信息记录
送端置:(一台Sun器,IP192.168.3.72
指定好loghost编辑/etc/syslog.conf,将原先的
*.info;mail.none;authpriv.none;cron.none[Tab]/var/log/messages
改成:
*.err;kern.debug;daemon.notice;mail.crit[Tab]/var/log/syslog@192.168.3.71
   
保存后退出,在两台服器上重启syslogd程。在接收端和送端上通snoop514端口状况。可以发现有包出。在nmtest1-yd/var/log/syslog,可以发现
Nov 23 18:17:25 [192.168.3.72.159.195] sendmail[17259]: unable to qualify my own domain name (nmtest2-yd) -- using short name
Nov 23 18:17:25 [192.168.3.72.159.195] sendmail[17895]: My unqualified host name (nmtest2-yd) unknown; sleeping for retry
Nov 23 18:17:25 [192.168.3.72.159.195] last message repeated 1 time
4.4.2
路由器à UNIX
接收端置:
采用一台Sun器作日志接收服器(Hostnamenmtest1-ydIP192.168.3.71),配置syslog.conf文件。
local0.info[Tab]/var/log/hw.log
保存退出,并生成hw.log空文件,touch /var/log/hw.log
送端置:
router1# conf
router1(config)# logging on
router1(config)#loggin 192.168.3.71
router1(config)#logging facility local0
router1(config)#logging trap info
router1(config)#logging timestamps log datetime localtime  
nmtest1-yd/var/log/hw.log,可以发现
Nov 18:17:25: %LINK-3-UPDOWN: Interface POS2/0/0, changed state to up
Nov 18:17:25: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/0, changed state to up
Nov 18:17:25: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet3/1, changed state to up
Nov 18:17:25: %LINEPROTO-5-UPDOWN: Line protocol on Interface POS2/0/0, changed state to up   
5.

    syslog行集中式网管理,先了解系日志运作原理,并且能依照本身需求,灵活运用日志系,打造一个适合自身的记录环境。种方法也存在不足之,由于syslog是以UDP方式送,个的日志消息可能会失;在网络设备的情况下,可能不会将最有用的信息送到syslog器 上,这对于排除崩故障不是很有用;而且syslog日志服器容易成者的目于防范系方面的攻脆弱,需要特注意。


阅读(697) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~