配置Linux syslog日志服务器

目前,Linux依旧使用syslogd作为日志监控进程,而在主流的Linux发行版中依旧使用sysklog这个比较老的日志服务器套件。从前一篇日志可以看到,对其进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。

一、配置文件
    以红旗DC Server 5.0为例,默认的日志服务器就是sysklog套件:

引用

# rpm -qa|grep sysklogd
sysklogd-1.4.1-26_EL


其主要的配置文件有两个:

引用

/etc/sysconfig/syslog


这里定义syslog服务启动时可加入的参数。

引用

/etc/syslog.conf


这个是syslog服务的主要配置文件,根据定义的规则导向日志信息。

二、设置主配置文件
/etc/syslog.conf根据如下的格式定义规则:

引用

facility.level action
设备.优先级 动作


facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。
#号开头的是注释,空白行会自动跳过。

1、facility
facility定义日志消息的范围,其可使用的key有:

引用

auth -由 pam_pwdb 报告的认证活动。
authpriv -包括特权信息如用户名在内的认证活动 
cron -与 cron 和 at 有关的计划任务信息。 
daemon -与 inetd 守护进程有关的后台进程信息。 
kern -内核信息,首先通过 klogd 传递。 
lpr -与打印服务有关的信息。 
mail -与电子邮件有关的信息 
mark - syslog内部功能用于生成时间戳 
news -来自新闻服务器的信息 
syslog -由 syslog 生成的信息 
user -由用户程序生成的信息 
uucp -由 uucp 生成的信息 
local0-local7 -与自定义程序使用
* 通配符代表除了 mark 以外的所有功能


除mark为内部使用外,还有security为一个旧的key定义,等同于auth,已经不再建议使用。

2、level级别
level定义消息的紧急程度。按严重程度由高到低顺序排列为:

引用

emerg -该系统不可用,等同panic
alert -需要立即被修改的条件 
crit -阻止某些工具或子系统功能实现的错误条件 
err -阻止工具或某些子系统部分功能实现的错误条件,等同error
warning -预警信息,等同warn 
notice -具有重要性的普通条件 
info -提供信息的消息 
debug -不包含函数条件或问题的其他信息 
none -没有重要级,通常用于排错 
* 所有级别,除了none


其中,panic、error、warn均为旧的标识符,不再建议使用。

在定义level级别的时候,需要注意两点:

引用

1)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;
2)低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义)



3、selector选择条件
通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:

引用

* - 所有日志信息
= - 等于,即仅包含本优先级的日志信息
! - 不等于,本优先级日志信息除外



4、action动作
由前面选择条件定义的日志信息,可执行下面的动作:

引用

file-指定日志文件的绝对路径,默认为直接写入磁盘文件;但可以在路径前加上“减号” ,表示先放到缓存中,达到一定数量后再写入磁盘,这样能提高性能;但若期间机器出现问题,这些日志数据可能会丢失;因此,只建议用于日志数量大,但非必要的日志文件中,例如mail 等。
terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2
@host -远程的日志服务器
username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中 
named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径


※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理。

5、举例
例如:

引用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psgfd.html