Chinaunix首页 | 论坛 | 博客
  • 博客访问: 784830
  • 博文数量: 201
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 2391
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-06 22:16
文章分类

全部博文(201)

文章存档

2011年(1)

2010年(2)

2009年(57)

2008年(141)

我的朋友

分类: LINUX

2008-04-11 20:41:00

讲述Syslog的架构和如何在思科的网络环境下部署LinuxWin下的ang=EN-US>syslog服务器,以及相应思科设备的配置.

Syslog简介

Syslog协议允许设备向消息收集器发送相应的事件信息.使用UDP端口514,不需要确认,大小为1024字节.包含

Facility,Severity,Hostname,Timestamp,Message五种信息.

Facilitysyslog对信息源的大致分类,比如该事件来源于操作系统,进程等,用整数表示.其中16-17local use可以为哪些没有被明确定义的进程或者应用所使用,通常思科IOS设备,CatOS交换机,VPN3000使用Facility Local7发送syslog信息,PIX防火墙使用local4,当然这些缺省值是可以修改的.

Severity 信息源或者Facility根据信息的严重程度使用1位数字进行分类.

数字

严重程度

0

Emergency: 报告软件或者硬件问题

1

Alert

2

Critical

3

Error

4

Warning

5

Notice: 系统重启或者接口up.down

6

Informational

7

Debug: Debug命令的输出


Hostname 设备名或者IP地址,如果多接口使用传送信息端口的IP地址.

Timestamp 时间戳是本地时间,IOS允许添加时区信息,前面加个特殊字符比如*,格式如下: MMM DD HH:MM:SS Timezone *.

Message 信息.

Syslog服务器的部署

内置syslogd的配置

/etc/syslog.conf文件控制syslogd的配置.里面有根据facilityseverity来定义的规则,格式为facility.severitydestination-file-path,里面缺省的记录系统的信息不需要更改.对于思科设备来说facilitylocal0local7,severity为前面提到的debug,info,notice,warning,err,crit,alert,emergnone.为了方便定义规则文件有下列特殊字符的定义:

字符

功能

,

在一句话定义相同seveity级别的多个facilities,例如 local1,local5.debug

;

分开多个facility.severity语句在一条规则,常和!选项合用

*

指定所有的facilities或者severities.

None

给定的facility没有severity

=

指定某个facility下特定的severity比如 local7.=debug 只记录level7信息在debug级别而不包含剩下的 info, notice, warning等信息,缺省会包含下级的severity信息

!

忽略特定的severity的级别,包含下级的.格式为 facility.!severity. 比如local7.*;local7.!err 记录所有的local7信息但是忽略severity等级为error, critical, alertemergency的信息.

@

定义远端的syslog服务器地址.格式为facility.severity@hostname. 如果使用主机名确保主机名在/etc/hosts文件中已经加入


一个复杂的例子如下:


local6.*;local6.!=err                      /var/log/allexcepterror.log
写入所有facilitylocal6的信息到all*.log文件,只排除severityerr的信息


缺省情况下syslogd只能接收来自本地的syslog信息,如果要接收远端的syslog信息,启动的时候要加上-r选项

配置基于linuxsyslog-ng服务器


由于内置syslogd的有facility分类笼统,信息过滤弱等缺陷,推荐使用syslog-ng来替代.去该下载安装后通过修改/etc/syslog-ng文件来进行软件的配置.该文件包含5个部分:options,source,destination,filterlog.


Options
定义全局选项,格式为options { option1(value); option2(value); ... };

Source 定义守护进程收集信息的源,格式为source identifier { source-driver(params); source-driver(params); ... };

Destination 定义所收集信息经过过滤后保存的地方,格式为destination identifier { destination-driver(params); destination-driver(params);


例子destination hosts { file("/var/log/host/$DATE" create_dirs(yes)); }; 按照日期来保存文件,如果没有相应的目录为自动创建.

Filter 定义过滤规则,格式为filter identifier { expression; };


Log
source,filter,destination合并,实现来自某个source的信息符合特定的filter后送到所定义的destination.格式为log { source(s1); source(s2); ...filter(f1); filter(f2); ...destination(d1); destination(d2); ...flags(flag1[, flag2...]); };


配置基于Windowssyslog服务器

是一个免费的图形化syslog服务软件,安装配置比较简单.

 

配置思科设备对syslog的支持


路由器下syslog支持的配置

配置示例:


Router(config)#logging 192.168.0.30    
配置syslog服务器地址,可以定义多个

Router(config)#service timestamps debug datetime localtime show-timezone msec

Router(config)#service timestamps log datetime localtime show-timezone msec  syslog信息包含时间戳

Router(config)#logging facility local3  定义facility级别,缺省为local7,可以设置从local0local7

Router(config)#logging trap warning  定义severity级别缺省为infor级别

Router(config)#end

Router#show logging

Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)

    Console logging: level debugging, 79 messages logged

    Monitor logging: level debugging, 0 messages logged

    Buffer logging: disabled

    Trap logging: level warnings, 80 message lines logged

        Logging to 192.168.0.30, 57 message lines logged


交换机下syslog支持的配置

配置示例:

Console> (enable) set logging timestamp enable  定义信息包含日期戳

Console> (enable) set logging server 192.168.0.30 指定服务器地址,最多可以指定3

Console> (enable) set logging server facility local4 定义facility级别,缺省为local7,

Console> (enable) set logging server severity 4 定义severity级别除了前面提到的路由器上的severity级别以外还有一些交换机特有的

Console> (enable) set logging server enable 启用syslog服务

Console> (enable) show logging

Logging buffered size: 500

timestamp option: enabled

Logging history size: 1

Logging console: enabled

Logging server: enabled

{192.168.0.30}

server facility: LOCAL4

server severity: warnings(4

Current Logging Session: enabled

Facility            Default Severity          Current Session Severity

-------------       -----------------------   ------------------------

cdp                 3                         4

drip                2                         4


PIX
防火墙下syslog支持的配置

配置示例:

Firewall(config)# loggin timestamp 定义信息包含日期戳

Firewall(config)# logging host 192.168.0.30 服务器地址,可以指定以udp或者tcp来发送信息,对于思科的PIX FW syslog软件只发送tcp.

Firewall(config)# logging facility 21 定义facility级别,防火墙使用两位字符,local0对应16,依次类推,缺省为20也就是local4

Firewall(config)# logging trap 7 定义severity级别,7debug,0emer,1alert.

Firewall(config)# logging on 启用syslog

Firewall(config)# no logging message 111005 抑制特定的syslog信息

Firewall(config)# exit

Firewall# show logging

Syslog logging: enabled

    Facility: 21

    Timestamp logging: enabled

    Standby logging: disabled

    Console logging: disabled

    Monitor logging: disabled

    Buffer logging: disabled

    Trap logging: level debugging, 6 messages logged

        Logging to inside 192.168.0.30

    History logging: disabled

    Device ID: disabled


VPN Concentrator
syslog支持的配置

web管理界面下Configuration > System > Events > Syslog Servers通过add来增加syslog server的地址和facility级别. Configuration > System > Events > General下通过severity to syslog的下拉菜单选择发送信息的serverity级别.然后保存修改.

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