ubuntu sysklogd之配置文件介绍

syslogd有一个配置文件,用来确定不同类型的log记录在不同的log文件中。

以下内容是从网络上copy的
-------------------------------------------------------

目前,Linux依旧使用syslog作为日志监控进程,因此对其进行必要的配置能减少很多麻烦,并可更有效地从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说尤为重要,/etc/syslog.conf根据如下的格式定义规则:

facility.level action

即“设备.优先级 处理方案”。

facility.level字段也称为selector(选择条件),选择条件和处理方案之间用空格或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以外的所有功能。security是一个旧的key定义,等同于auth,不建议使用。

(2)level(优先级)

level定义了消息的紧急程度。按严重程度由高到低顺序排列如下。

emerg:该系统不可用,等同于panic。

alert:需要立即被修改的条件。

crit:危急情况。

err:错误消息,等同于error。

warning:预警信息,等同于warn。

notice:具有重要性的普通条件。

info:提供信息的消息。

debug:不包含函数条件或问题的其他信息。

none:没有重要级,通常用于排错。

另外,*代表所有级别,除了none外,panic、error、warn均为旧的标识符,不建议使用。

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

优先级是由应用程序在编程的时候决定的,除非修改源码再编译,否则不能改变消息的优先级。

低优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。

(3)selector(选择条件)

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

*:表示所有日志信息。

=:等于,即仅包含本优先级的日志信息。

!:不等于,本优先级日志信息除外。

(4)action(处理方案)

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

file:指定日志文件的绝对路径。

terminal或print:发送到串行或并行设备的标志符,例如/dev/ttyS2 @host表示远程的日志服务器。

username:发送信息到本机的指定用户信息窗口中,但该用户必须已经登录到系统中。

named pipe:发送到预先使用mkfifo命令创建的FIFO文件的绝对路径中。

注意 不能通过“/var/xxx.sh”方式将日志导入到其他脚本中处理
--------------------------------------------------

在此列举几个例子来说明:
1.  *.info;mail.err;local3.notice;local3.alert     /var/log/message
表示:
*.info是指设置所有的facility(包括mail)级别为info,而再次设置mail.err,因为err>info,所以mail的级别仍为info;
即:有重复设置的facility,日志级别取低的,所以对于local3.notice;local3.alert,local3的日志级别是notice;
也就是可以通过设置如mail.none来剔除如*.info全集中的mail。
(该解释来自网络上某回答,未验证)
2. *.=info;*.=notice;*.=warning;
    auth,authpriv.none;
    cron,daemon.none;
    mail,news.none      -/var/log/messages
该设置是在/etc/syslog.conf中的一段,表示:
所有的等于info,notice,warning类型的log都记录在/var/log/messages中,但是不包括: auth,authpriv,cron,daemon,mail,news这些facility(设备)的所有log。




--------------Ref----------------
http://book.51cto.com/art/201111/300752.htm
http://bbs.chinaunix.net/thread-4030795-1-1.html
参与0

0同行回答

“答”则兼济天下,请您为题主分忧!

提问者

擅长领域: 服务器大数据数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-07-23
  • 关注会员:0 人
  • 问题浏览:1498
  • X社区推广