日期:2014-05-16  浏览次数:20651 次

Linux学习记录--日志系统

日志系统


日志系统对于一个系统来说是非常重要的,从日志文件我们可以获取到系统的运行状况,协助我们排查问题。

对于CentOs来说,日志系统主要包含2个服务与1个程序

syslogd:记录系统与网络服务的信息

klogd:记录内核产生的各项信息

logrotate:日志文件的轮替功能

说明:不同的UNIX LIKE对应的服务可能不一样

 

 

syslogd服务


syslogd服务配置文件分析

[root@localhost ~]# cat /etc/syslog.conf 
#kern.*                                                 /dev/console
*.info;mail.none;news.none;authpriv.none;cron.none              /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
# Log cron stuff
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
news.=crit                                        /var/log/news/news.crit
news.=err                                         /var/log/news/news.err
news.notice                                       /var/log/news/news.notice

配置文件格式如下


【服务类型】 【信息等级设置】【信息存储方式】

以cron.*  /var/log/cron 为例

cron是服务类型

. 是信息等级设置

/var/log/cron 信息存储方式

 

服务类别

服务类别

说明

auth (authpriv)

主要与认证有关的机制

cron

就是例行性工作cron/at 等产生信息记录的地方;

daemon

与各个 daemon(服务进程) 有关的信息;

kern

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

lpr

与打印相关的信息

mail

与邮件相关的信息

news

与新闻组相关的信息

syslog

syslogd程序本身产生的信息

user, uucp, local0 ~ local7

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

 

日志信息等级

等级

等级名称

说明

1

info

仅是一些基本的信息说明而已;

2

notice

需要注意的信息;

3

warning
(warn)

警示的信息, info, notice, warn 这三个信息都是在告知一些基本信息而已,应该还不至于造成一些系统运行困扰;

4

err
(error)

一些重大的错误信息

5

crit

比 error 还要严重的错误

6

alert

警告警告,已经很有问题的等级,比 crit 还要严重

7

emerg
(panic)

疼痛等级,意指系统已经几乎要死机的状态

 

?  . :代表比后面还要高的等级 (含该等级) 都被记录下来的意思。如mail .info

?  .=:代表所需要的等级就是后面接的等级而已

?  .!:代表不等于,除了该等级外的其他等级都记录。

?  .*:代表说所有等级的信息都记录

 

日志文件的轮替(logrotate)

日志文件随着时间会变得越来越多,此时就需要进行日志文件轮替。以控制日志文件规模.logrotate就是做这个用的

 

日志轮替程序配置文件包括

/etc/logrotate.conf :记录整