Syslog是一个通过IP网络允许一台机器发送事件通知信息给事件收集者(Syslog服务器或者Syslog Daemon)的协议。换言之,就是一台机器或者设备能够被配置,使之产生Syslog信息并且发送到一台特定的Syslog服务器/Daemon。
Syslog信息建立在UDP之上,一般Syslog信息在UDP514端口上被收集,Syslog信息的长度不大于1024字节。由于基于UDP协议,所以当如果因为网络拥塞等情况导致信息包丢失,那么信息将不再重发,而是简单的丢失掉。
Syslog协议是在Unix系统上被创建出来的。使用Syslog,一个远程Unix主机能够很好的跟踪另一台Unix主机。任何应用程序都能够产生Syslog信息。
格式
Syslog包的格式:
一个Syslog信息主要有三部分组成。分别是PRI,HEADER,MSG。 日志信息格式如下:
<优先级>时间戳 主机名 模块名/级别/信息摘要:内容 <1>Jun 7 05:22:03 2003 Quidway IFNET/6/UPDOWN:Line protocol on interface Ethernet0/0/0, changed state to UP 以下对每一个字段做详细说明。 1. 优先级 是优先级的意思,它由两部分组成,共一个字节,前3位是严重度(Severity),后5位是表示Facility。优先级的计算按如下公式:facility*8+severity-1。 a) 严重度 值 0 1 2 3 4 5 6 7 严重度含义 Emergency: system is unusable Alert: action must be taken immediately Critical: critical conditions Error: error conditions Warning: warning conditions Notice: normal but significant condition Informational: informational messages Debug: debug-level messages b) Facility 值 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Facility含义 kernel messages user-level messages mail system system daemons security/authorization messages messages generated internally by syslogd line printer subsystem network news subsystem UUCP subsystem clock daemon security/authorization messages FTP daemon NTP subsystem log audit log alert clock daemon local use 0 local use 1 local use 2 local use 3 local use 4 local use 5 local use 6 local use 7 2。Header 包括两部分: 1> 时间戳,它是指信息生成的日期和时间。 时间戳的格式为“Mmm dd hh:mm:ss yyyy”。 “Mmm”为英语月份的缩写,即为如下的值:Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec。“dd”为日期,如果日期的值小于10,则必须写为“空格+日期”,如“ 7”。“hh:mm:ss”为本地时间,hh采用24小时制,从00到23;分钟和秒的值均从00到59。“yyyy”为年份。 2>主机名或者IP地址 时间戳与主机名之间以一个空格隔开。 具体可以参考RFC-31(The BSD syslog Protocol) Syslog的配置 主机类 主机类的配置成Syslog的客户端(这里所说的客户端,就是发送自己的日志到远程日志服务器上的主机),主要关注以下三种: 1. Linux 配置: Linux主机的配置成Syslog的client应该是最方便的一种了。 只要修改/etc/syslog.conf文件,比如要把debug以上信息都发送给服务器,则只需要增加一行: *.debug @Serverhost (注:语句由两部分完全,前面*.debug为选择子,’.’前面的为facility,后面的为priority。第二部分为action,记录需要记录的地方。一般远程的就使用@hostName这种形式)。 其中Serverhost为server的ip地址。然后重新启动以下syslogd就可以了。 它可以根据我们的需要配置,我们可以选择发送全部的log信息,也可以选择只发送特定方面的信息。 消息格式: Linux的syslog的格式比较标准,下面是一个从linux摘下的syslog信息。 根据软件截下: 192.168.0.22: <13>root: this is from linux Syslog信息中的PRI没有问题,如何具体配置? HEADER部分没有出现,包括时间戳和主机名两样。 Message部分为:【ModuleName:MSG】这样的格式 2. Windows 配置: 由于Windows只支持EventLog,所以要想使用标准的syslog来使用的话需要有个message converter。它的功能为监听eventLog,如果有新的eventLog,则将它转化成标准的形式,并把它发送到配置好的server。我现在找到的免费的工具包括: 1) EvtSys(已尝试使用):这款是网上说的比较多的,这是一个非常小巧而且免费的 第三方日志记录软件,文件才几十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 它把系统中的事件以Facility为DAEMON ,Severity为ERR, WARNING, or NOTICE。其中facility可以设置。据现在的了解EventLog的严重度就这么几种。具体可参考文章用syslog记录UNIX和windows日志和Eventlog to Syslog Utility。 信息格式: EvtSys发送的facility标签可以由自己选择,但是目前还不知道如何选择配置其他几项,也不确定是否真的把所有的EventLog事件都发送过来了?默认情况为把EventLog对应的错误,警告,信息三种翻译为对应的Syslog的ERROR,WARNING,NOTICE。如下例: YUJIE-TEKVIEW: <29>Security: 538: NT AUTHORITY\\ANONYMOUS LOGON: 用户注销: 用户名: ANONYMOUS LOGON 域: NT AUTHORITY 登录 ID: (0x0,0x9AC46) 登录类型: 3 一些信息的格式含义参考如下: http://www.ultimatewindowssecurity.com/encyclopedia_categories.html 3. Unix(没有可以测试的平台) Syslog的格式: 设备类 1. SonicWall Router: 配置: 它的配置比较简单,只要登陆到它的web服务器页面,然后进入Log-〉Automation里面就可以配置了。 前面的部分跟其他的一样,但同样没有时间和IP地址。后面部分如下例(MSG部分): 192.168.0.1: <133>id=firewall sn=0006B1247460 time=\"2007-04-06 01:52:19\" fw=222.66.87.118 pri=5 c=128 m=37 msg=\"UDP packet dropped\" n=97204 src=70.160.194.153:41142:WAN dst=222.66.87.118:41261:WAN proto=udp/41261 可以看到它的消息的信息比较全,包含了应该在前面包括的信息(比如时间)。后面部 分明显是自己的定义的Tag。具体有多少种Tag,目前不知道。 2. Cisco交换机: 配置: 192.168.0.8和192.168.0.9都是cisco的交换机,配置方式类似,都是用telnet登陆进行配置,下面以192.168.0.8为例来进行说明。 1. 在命令行方式下,用命令telnet 192.168.0.8进行登陆,密码:ciscocisco; 2. 登陆后,可以看到命令行提示符。敲入命令enable,这表示要进入特权模式。系统 会再次提示输入密码,此时的密码是cisco; 3. 在enable状态下,敲入命令config terminal进入全局配置状态。 4. 在全局配置状态下,敲入命令 Logging host(ip地址) 就可以了,具体的配置有很多选项,可以参考《Catalyst 2950 and Catalyst 2955 Switch Software Configuration Guide》的27章。 格式 192.168.0.8: <1>15567: 48w0d: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/5, changed state to down 具体MSG里面的含义不知道,但是可以看到也没有时间和ip地址(其实这两项不需要)。后面的tag本身肯定有意义。 以下是关于思科syslog信息格式的一个介绍。 http://www.networkingunlimited.com/white007.html Syslog的测试 1. 通过WinSyslog 当需要测试服务器时,可以通过直接使用WinSyslog,这是一个商业软件,但是有试用版,它是一个Syslog接收器,但是也附带了发送Syslog的功能:如下图的tools-〉Send Syslog Test Message. 它的窗口如下: 只要设定一下相应的参数(最终要为要测试的服务器的Ip地址和端口)。 2. 通过Linux机器 Linux机器配置好之后,可以通过发送到自己机器的daemon来验证它已经配置好,随后配置好接收服务器之后,只要在termial中输入: log msg 就可以将它记录到log中。 3. 其他网上免费工具 网上的免费工具很多,例如http://www.softpedia.com/get/UNIX/Networking/Server-Applications/TheOne-SysLog-Sender-Free-Edition.shtml 的 Syslog Sender。 非常好用。 我们的系统相关 Syslog查看 Trap被保存在数据库的TrapObject表中,可以直接查看数据库。也可以在ocean的client界面上,选择主菜单“性能管理”“查看Syslog”进行查询。具体不再赘述。 Syslog配置 1. 通过客户端可以配置Server接收后处理的Syslog严重度门限。选择主菜单“性能管理” “Syslog配置”进行查询。具体不再赘述。 2. 在Probe端的probe-config.xml里面可以配置syslog的接收门限。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务