前言
唉,这周本来想彻底研究一下树的数据结构,结果搭建了基于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级别就会被记录下来的意思 .= : 代表所需要的等级==后面链接的等级,其它的不要 .! : 代表不等于,即除了该等级之外的等级都记录下来
说下题外话:
一个程序员一般会尽全力消除程序中所有的notice,因此到现在我也是仅仅见过error级别的,error之上的我觉得可能需要更大并发量的时候才能遇到
不做任何解释。没有人明白,