Linux上的日志系统:syslog、syslog-ng
syslog服务:
syslogd:系统,非内核产生的信息
klogd:内核,专门负责记录内核产生的日志信息
/var/log/dmesg:开机时内核产生的日志
/var/log/messages:系统标准错误日志信息
/var/log/maillog:邮件系统产生的日志信息
/var/log/secure:安全日志
/etc/rsyslog.conf:系统日志配置文件,红帽5在/etc/rsyslog.conf。
[root@localhost ~]# cat /etc/rsyslog.conf *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog 横线代表异步写入 cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/boot.log
日志文件的格式为“日志来源设备.级别 动作”
日志来源设备 | 级别 | 动作 | |||
auth | 认证相关 | debug | 调试信息 | 绝对路径 |
|
authpriv | 权限,授权相关 | info | 一般信息 | 管道符 |
|
cron | 计划任务相关 | notice | 注意 | 终端 |
|
daemon | 守护进程相关 | warn | 可能影响系统功能 | @HOST | @1.1.1.1 |
kern | 内核相关 | error | 错误信息 | 用户 |
|
lpr | 打印相关 | crit | 比较严重的 | * | 一般emerg用 |
| 邮件相关 | alert | 必须马上处理 |
|
|
mark | 标记相关 | emerg | 崩贵 |
|
|
news | 新闻相关 | * | 所有 |
|
|
security | 安全相关 | none | 无 |
|
|
syslog | syslog本身 |
|
|
|
|
user | 用户相关 |
|
|
|
|
local0-7 | 用户自定义 |
|
|
|
|
* | 所有 |
|
|
|
|
定义格式例子:
mail.info /var/log/mail.log # 表示将mail相关的,级别为info及info以上级别的信息记录到/var/log/mail.log文件中
auth.=info @10.0.0.1 # 表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去前提是10.0.0.1要能接收其他主机发来的日志信息
user.!=error # 表示记录user相关的,不包括error级别的信息
user.!error # 与user.error相反
*.info # 表示记录所有的日志信息的info级别
mail.* # 表示记录mail相关的所有级别的信息
*.* # 所有的给所有人
cron.info;mail.info # 多个日志来源可以用";" 隔开
cron,mail.info # 与cron.info;mail.info 是一个意思
mail.*;mail.!=info # 表示记录mail相关的所有级别的信息,但是不包括info级别的
开启日志文件服务器,需要在/etc/sysconfig/rsyslog中SYSLOGD_OPTIONS=" -r -c 4"加上-r,之后重启服务就可以了
[root@localhost ~]# cat /etc/sysconfig/rsyslog # Options to syslogd # syslogd options are deprecated since rsyslog v3 # if you want to use them, switch to compatibility mode 2 by "-c 2" SYSLOGD_OPTIONS=" -r -c 4"