Syslog 配置介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Syslog 简介
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。
日志信息格式如下:
<优先级>时间戳主机名模块名/级别/信息摘要:内容
<priority>timestamp sysname module/level/digest:content
以上格式中的尖括号(< >)、空格、斜杠(/)、冒号(:)是有效的、必须的。
输出到日志主机的日志格式的例子如下:
<189>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) 严重度
b) Facility
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-3164(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
一些信息的格式含义参考如下:
/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=9720464 src=70.160.194.153:41142:WAN dst=222.66.87.118:41261:WAN proto=udp/41261
可以看到它的消息的信息比较全,包含了应该在前面包括的信息(比如时间)。
后面部分明显是自己的定义的T ag。
具体有多少种Tag,目前不知道。
2.Cisco交换机:
配置:
192.168.0.8和192.168.0.9都是cisco的交换机,配置方式类似,都是用telnet登陆进行配置,下面以192.168.0.8为例来进行说明。
1. 在命令行方式下,用命令telnet 19
2.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:
<189>15567: 48w0d: %LINEPROTO-5-UPDOWN: Line protocol on Interface
FastEthernet0/5, changed state to down
具体MSG里面的含义不知道,但是可以看到也没有时间和ip地址(其实这两项不需要)。
后面的tag本身肯定有意义。
以下是关于思科syslog信息格式的一个介绍。
/white007.html
Syslog的测试
1.通过WinSyslog
当需要测试服务器时,可以通过直接使用WinSyslog,这是一个商业软件,但是有试用版,它是一个Syslog接收器,但是也附带了发送Syslog的功能:如下图的tools-〉Send Syslog Test Message.
它的窗口如下:
2.通过Linux机器
Linux机器配置好之后,可以通过发送到自己机器的daemon来验证它已经配置好,随后配置好接收服务器之后,只要在termial中输入:
log msg
就可以将它记录到log中。
3.其他网上免费工具
网上的免费工具很多,例如/get/UNIX/Networking/Server-Applications/TheOne-SysLog-Sender-Fr ee-Edition.shtml的Syslog Sender。
非常好用。
我们的系统相关
Syslog查看
Trap被保存在数据库的TrapObject表中,可以直接查看数据库。
也可以在ocean的client界面上,选择主菜单“性能管理”→“查看Syslog”进行查询。
具体不再赘述。
Syslog配置
1.通过客户端可以配置Server接收后处理的Syslog严重度门限。
选择主菜单“性能管理”
→“Syslog配置”进行查询。
具体不再赘述。
2.在Probe端的probe-config.xml里面可以配置syslog的接收门限。
<bean id="syslogConfig"
class="com.tekview.ocean.probe.protocol.syslog.SyslogConfig">
<property name="bufferSize" value="8192" />
<property name="port" value="514" />
<!--0:Emergency; 1:Alert; 2:Critical; 3:Error; 4:Warning; 5:Notice;
6:Informational; 7: Debug -->
<property name="serverityThreshold" value="4" />
</bean>。