syslog配置文件

基本语法:

       Rsyslog针对各种服务与信息记录在某些文件的配置文件就是/etc/rsyslog.conf,这个文件规定了什么服务的什么等级信息以及需要被记录在哪里(设备或文件)。
基本语法:

服务名称[.=!]信息等级  信息记录的文件或设备或主机
    mail.info       /var/log/maillog_info
#这行说明:mail服务产生的大于等于info等级的信息都记录到/var/maillog_info文件中。
服务名称

syslogd本身有设置一些服务,主要有下面这些。

服务类型

说明

auth(authpriv)

主要与认证有关的机制,例如:login,ssh,su等需要帐号/密码

cron

就是例行性工作调度cron/at等生成信息日志的地方

daemon

与各个daemon有关的信息

kern

就是内核(kernel)产生信息的地方

lpr

即是打印相关的信息

mail

只要与邮件收发有关的信息记录都属于这个

news

与新闻组服务器有关的东西

syslog

就是syslogd这个程序本身生成的信息

user,uucp

与Unix like机器本身有关的一些信息

local0~lcocal7

自定义的日志设备

       以上都是rsyslog自行定制的服务名称,软件可通过调用上述的服务名称来记录它们产生的信息。如:sendmail与postfix及dovecot都是与邮件有关的软件,这些软件在设计日志记录时都会主动调用rsyslogd内的mail服务名称(LOG_MAIL),所以上述软件所产生的信息被rsyslogd记录在maillog文件中。

信息等级

       同一个服务所产生的信息也是有差别的,有启动时仅通知系统而已的一般信息(information),有出现还不至于影响到正常运行的警告信息(warn),还

有系统硬件发生严重错误时所产生的重大问题信息(error等);syslog将信息分为以下几个主要等级。

等级

等级名称

说明

1

debug

有调式信息的,日志信息最多

2

info

基本的信息说明,最常用

3

notice

重要性的普通条件的信息

4

warning(warn)

警告的信息级别,但还不至于影响到某个daemon运行的信息;

5

err(error)

一些错误的信息,阻止某个功能或者模块不能正常工作的信息

6

crit

重大错误级别,阻止整个系统或者整个软件不能正常工作的信息

7

alert

严重错误级别,需要立刻修改的信息

8

emerg(panic)

“疼痛”等级,指系统几乎要死机的状态。如内核崩溃等严重信息

9

none

什么都不记录

       从上到下,级别从低到高,记录的信息越来越少 。
       基本上,info,notice,warn这三个信息都是在告知一些基本信息而已,应该还不至于造成一些系统运行困扰。debug(错误检测等级)和none(不需等录等级),这两个等级的信息比较特殊,当我们要做一些错误检测或忽略掉某些服务的信息时,可用这两个等级。

等级信息前[.=!]所代表的意思是:

  • .xxx: 表示大于等于xxx级别的信息
  • =xxx:表示等于xxx级别的信息
  • .!xxx:表示在xxx之外的等级的信息
信息记录

       配置文件还需要告知rsyslogd将信息记录到什么地方,通常是记录文件,但也可以输出到设备,例如打印机之类的。也可以记录到不同的主机上。下面是一些常见的放置处:

  • 文件的绝对路径:通常就是放在/var/log里,
    例子:. /var/log/boot.log # 绝对路径
  • 打印机或其他:例如/dev/lp0这个打印机设备。
  • 远程主机:需要对方主机的支持。
    例子:. @192.168.0.1 # 使用UDP协议转发到192.168.0.1的514(默认)端口
  • *:代表目前在线的用户,类似wall这个命令
    例子:. root,kadefor,up01 # 使用,号分隔多个用户
    例子:. * # *号表示所有在线用户
  • 忽略,丢弃
    例子:local3.* ~ # 忽略所有local3类型的所有级别的日志