Linux认识和分析日志文件
前言
唉,这周本来想彻底研究一下树的数据结构,结果搭建了基于nginx+php-fpm的web server运行模式,回到宿舍就太累没心思再思考数据结构和算法,就这样吧,这周就只搞运维了,虽然之间也写了点php代码学了点设计模式
syslogd:记录日志文件的服务
日志内容的一般格式
一般来说,系统产生的信息经过syslog而记录下来的数据中,每条信息均会记录下面几个重要数据:
(1)事件发生的日期与时间
(2)发生此事件的主机名
(3)启动此时间的服务名称
(4)该信息的实际数据内容
举个例子如下:
解释一下其中一条数据:在2012年11月15日的10:13:34秒,错误信息是php-fpm绑定的ip地址被使用了,主机名和服务名称是我自己设置没加上
syslog的配置文件
Ubuntu 10.04之后,syslog的配置文件在
/etc/rsyslog.conf
配置文件的内容可以简单分为三部分说明:
服务名称
auth : 主要与认证有关的机制
cron : 就是例行性工作调度crontab等生成信息日志的地方
daemon : 就是各个daemon有关的信息
kern : 就是内核(kernel)产生信息的地方
lpr : 打印相关信息
mail : 只要与邮件收发有关的信息记录在此
news : 与新闻组服务器有关的东西
信息等级
info : 一些基本的信息说明
notice : 除了info还需要注意的一些信息内容
warning : 警示的信息,可能有问题,但是不至于影响到某个daemon的运行
error : 一些重大的错误信息
crit : 比error还要严重的错误信息
alert : 警告,已经很有问题的等级
emerg : “疼痛”等级,意指系统已经几乎要死机状态!
链接符号[.|.=|.!]
. : 代表比后面还要高的等级(含该等级)都被记录下来的意思。例如:news.err 代表只要是news的信息,而且该信息的等级大于等于error级别就会被记录下来的意思
.= : 代表所需要的等级==后面链接的等级,其它的不要
.! : 代表不等于,即除了该等级之外的等级都记录下来
说下题外话: