日志系统对于一个系统来讲是很是重要的,从日志文件咱们能够获取到系统的运行情况,协助咱们排查问题。node
对于CentOs来讲,日志系统主要包含2个服务与1个程序vim
syslogd:记录系统与网络服务的信息网络
klogd:记录内核产生的各项信息ide
logrotate:日志文件的轮替功能post
说明:不一样的UNIX LIKE对应的服务可能不同spa
[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 为例ip
cron是服务类型ci
. 是信息等级设置
/var/log/cron 信息存储方式
服务类别
服务类别 |
说明 |
auth (authpriv) |
主要与认证有关的机制 |
cron |
就是例行性工做cron/at 等产生信息记录的地方; |
daemon |
与各个 daemon(服务进程) 有关的信息; |
kern |
内核核 (kernel) 产生信息的地方 |
lpr |
与打印相关的信息 |
与邮件相关的信息 |
|
news |
与新闻组相关的信息 |
syslog |
syslogd程序自己产生的信息 |
user, uucp, local0 ~ local7 |
与 Unix like 机器自己有关的一些信息。 |
日志信息等级
等级 |
等级名称 |
说明 |
1 |
info |
仅是一些基本的信息说明而已; |
2 |
notice |
须要注意的信息; |
3 |
warning |
警示的信息, info, notice, warn 这三个信息都是在告知一些基本信息而已,应该还不至于形成一些系统运行困扰; |
4 |
err |
一些重大的错误信息 |
5 |
crit |
比 error 还要严重的错误 |
6 |
alert |
警告警告,已经颇有问题的等级,比 crit 还要严重 |
7 |
emerg |
疼痛等级,意指系统已经几乎要死机的状态 |
. :表明比后面还要高的等级 (含该等级) 都被记录下来的意思。如mail .info
.=:表明所须要的等级就是后面接的等级而已
.!:表明不等于,除了该等级外的其余等级都记录。
.*:表明说全部等级的信息都记录
日志文件随着时间会变得愈来愈多,此时就须要进行日志文件轮替。以控制日志文件规模.logrotate就是作这个用的
日志轮替程序配置文件包括
/etc/logrotate.conf :记录总体轮替配置信息
/etc/logrotate.d/* : 记录各个服务类型的轮替配置信息
其实能够在/etc/logrotate.conf中定义配置各类服务类型的日志轮替配置信息,为了方便管理将每一个服务类型的日志轮替配置信息造成独立文件存储在/etc/logrotate.d/*
[root@localhost logrotate.d]# ll -rw-r--r-- 1 root root 144 2012-02-23 acpid -rw-r--r-- 1 root root 288 2007-11-12 conman ……. -rw-r--r-- 1 root root 100 10-02 06:17 wpa_supplicant -rw-r--r-- 1 root root 100 2012-07-26 yum
[root@localhost ~]# vim /etc/logrotate.conf =>下面为默认值。如不单独配置将才有下面的默认值 weekly <==默认每周进行一次 rotate 的工做 rotate 4 <==默认保留4个登陆文件 create <==以新建立文件继续存储日志文件 #compress <==被更动的登陆文件是否须要压缩?若是登陆文件太大则可考虑此参数启动 include /etc/logrotate.d /var/log/wtmp { <==仅针对 /var/log/wtmp 所配置的参数 monthly <==每月一次,取代每周! minsize 1M <==文件容量必定要超过 1M 后才进行 create 0664 root utmp <==指定新建文件的权限与所属账号/群组 rotate 1 <==仅保留一个 }
当第一次执行轮替,本来日志文件msg 被重命名为msg1,同时建立新的msg以记录新的日志信息,当的当第二次执行轮替,日志文件msg1 被重命名为msg2, msg重命名为msg1,同时建立新的msg以记录新的日志信息,依次类推,日志文件最多保存的数量为rotate这个属性所指定的数值
正如前面看到的。日志轮替方式是写在配置文件中的,这里只作简单的说明
[root@localhost logrotate.d]# cat named /var/log/named.log { missingok create 0644 named named sharedscripts postrotate /sbin/service named reload 2> /dev/null > /dev/null || true endscript }
如上前面文件。Logrotate轮替信息能够分为2部分
1. 内部参数
2. 引用外部执行
引用外部命令来进行额外的命令下达,这个配置需与 sharedscripts .... endscript 配置合用才行。至于可用的环境为:
prerotate:在启动 logrotate 以前进行的命令
postrotate:在作完 logrotate 以后启动的命令
内部参数
compress 经过gzip 压缩转储之后的日志
nocompress 不须要压缩时,用这个参数
copytruncate 用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate 备份日志文件可是不截断
create mode owner group 转储文件,使用指定的文件模式建立新的日志文件
nocreate 不创建新的日志文件
delaycompress 和 compress 一块儿使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress 覆盖 delaycompress 选项,转储同时压缩。
errors address 专储时的错误信息发送到指定的Email 地址
ifempty 即便是空文件也转储,这个是 logrotate 的缺省选项。
notifempty 若是是空文件的话,不转储
mail address 把转储的日志文件发送到指定的E-mail 地址
nomail 转储时不发送日志文件
olddir directory 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir 转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript 在转储之前须要执行的命令能够放入这个对,这两个关键字必须单独成行
postrotate/endscript 在转储之后须要执行的命令能够放入这个对,这两个关键字必须单独成行
daily 指定转储周期为天天
weekly 指定转储周期为每周
monthly 指定转储周期为每个月
rotate count 指定日志文件删除以前转储的次数,0 指没有备份,5 指保留5 个备份
tabootext [+] list 让logrotate 不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig, .rpmsave, v, 和 ~
size size 当日志文件到达指定的大小时才转储,Size 能够指定 bytes (缺省)以及K (sizek)或者M (sizem).
语法:logrotate [-vf] logfile
选项与参数:
-v:显示运行过程
-f:不管是否符合配置文件的数据,强制每一个日志文件都进行轮替操做
举例
[root@localhost /]# logrotate -vf /etc/logrotate.conf ……………….. [root@localhost /]# ll /var/log/messages* -rw------- 1 root root 50 03-28 14:00 /var/log/messages -rw------- 1 root root 50 03-28 14:00 /var/log/messages.1 -rw------- 1 root root 50 03-28 13:59 /var/log/messages.2 -rw------- 1 root root 333879 03-28 10:44 /var/log/messages.3 -rw------- 1 root root 1289326 03-25 08:50 /var/log/messages.4