首页 > 服务器学习 > Linux > Linux中的rsyslogd日志服务
2016
12-17

Linux中的rsyslogd日志服务

一、日志的文件格式包含以下4列

1、事件产生的时间

2、发生时间的服务器的主机名

3、发生时间的服务名或程序名

4、事件的具体信息

二、rsyslogd服务的配置文件:/etc/rsyslog.conf

格式:服务名[连接符号]日志等级  日志记录保存位置

配置文件中的服务名是独立的,就是说配置里面的服务名称并不一定是用系统命令管理的服务名称,常见的配置文件用到的服务名:

"*"  代表所有服务

服务名称 说明
auth 安全和认证相关信息(不推荐使用authpriv代替)
authpriv 安全和认证相关信息(私有的)
cron 系统定时任务cront和at产生的日志
daemon 和各个守护进程相关的日志
ftp ftp守护进程产生的日志
kern 内核产生的日志(非用户进程产生)
loca10-loca17 为本地使用预留的服务
lpr 打印产生的日志
mail 邮件收发的信息日志
news 与新闻服务器相关的日志
syslog 记录rsyslogd服务产生的日志(虽然服务名称已经改了,但是很多配置还是沿用的syslogd,所以这里并没有修改服务名)
user 用户等级类别的日志信息
uucp uucp子系统的日志信息,uucp是早期Linux进行数据传递的协议,后来也常用在新闻组服务中

  连接符号:

"."  代表只要比后面指定的等级高(包括后面的等级)的日志都记录下来

".="  代表只记录指定等级的日志,其他等级的都不记录

".!"  代表不等于,也就是除了该等级的日志外,其他等级的日志都记录

日志等级(下面的日志等级越靠下日志等级越高):

"*"  代表所有日志等级

debug:一般的调试信息说明

info:基本的通知信息

notice:普通信息,但是有一定的重要性

warning:警告信息,但是还不会影响到服务或系统的运行

err:错误信息,一般达到err等级的信息已经可以影响到服务或系统的运行了

crit:临界状况信息

alert:警告状态信息,代表必须立即采取行动

emerg:疼痛等级信息,代表系统已经无法使用了

日志记录保存位置

"*"  代表发送给任何当前在线的用户

1、使用绝对路径

2、使用系统设备文件名,如/dev/lp0,代表发送给打印机直接打印出来

3、转发给远程主机,如:@192.168.1.22:666

4、发送给用户,如"root"

5、忽略或丢弃日志,如"~"

在配置文件中有一行:

*.info;mail.none;authpriv.none;cron.none   /var/log/messages

后面的none代表没有等级,即不记录该服务任何等级的日志,中间用分号";"隔开,这句话就是代表所有的服务高于info等级的都要记录在/var/log/messages中,但是其中mail、authpriv和cron的服务任何等级都不记录,也就是说记录除了这三个服务之外的所有高于info等级的记录。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。