当前位置:首页 > linux教程 > 列表

深入分析linux 日志文件

发布:smiling 来源: PHP粉丝网  添加日期:2015-05-07 14:12:12 浏览: 评论:0 

对于linux中的日志文件很多的朋友对于这个不是很了解,下文小编为各位整理了一篇关于日志文件的一些常识,有兴趣的可以和小编来看看.

概述:日志文件的概念很好理解,就是什么时间,谁,在哪里里,做了什么事。专门有一个叫做syslog(ubuntu采用的拓展的rsyslog)的程序来负责收集系统产生的这些信息,然后按照规则把他们写道特定的地方,这些地方包括文件,控制台,打印机,远程主机等。由于日志文件记录信息逐渐增多,就需要有程序管理日志文件,这就是logrotate。对于这两个程序的认识主要对配置文件的了解。但是最重要的不是这些,而是要能看懂日志信息,这就要对系统,对服务等有个全面的认识,这样才能知道日志文件里说的是怎么一回事。

syslog配置:

语法:服务名称 [运算符] 信息等级         记录信息的位置

服务名称:该服务产生的讯息会被纪录的意 思。syslog 认识的服务主要有底下这些:

auth, authpriv:主要与认证有关的机制,例如telnet, login, ssh 等需要认证的服务都是使用此一机制;

cron:例行性命令 cron/at 等产生讯息记录的地方;

daemon:与各个 daemon 有关的讯息;

kern:核心 (kernel) 产生讯息的地方;

lpr:打印相关的讯息!

mail:只要与邮件收发有关的讯息纪录都属于这个;

news:与新闻群组服务器有关的东西;

syslog:syslogd 这支程序本身产生的信息啊!

user, uucp, local0 \~ local7:与 Unix like 机器本身有关的一些讯息。

运算符

运算符限制了记录信息的范围

. :代表比后面还要高的等级(含该等级)都被记录下来的意思, 例如:mail.info 代表只要是 mail 的信息,而且该信息等级高于 info (含info )时,就会被记录下来;

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

.!:代表不等于。

信息等级

信息等级:总共分成下列几种等级:

info:提示一些讯息数据;

notice:注意!需要比较留意的讯息;

waring 或 warn:警示的讯息,以上三个讯息都还是没有错误的情况,虽然是需要留意,但是还没有到错误的情况;

err 或 error:呀!错误讯息出现了!该要检验错误的问题发生原因了;

crit:临界点了!再不处理可就伤脑筋了!

alert:错误讯息一再地警告警告!你将要完蛋了!

emerg 或 panic:阿!系统已经进入混乱的阶段!真的是完蛋了~~

特殊等级:例如 debug(显示较多的信息)及 none(不要记录该服务的内容)等.

记录日志位置

记录信息的位置,档案的绝对路径:通常就是放在 /var/log 里头的档案啦,如果绝对路径后跟“-”表示异步写入,这样能提升性能.

打印机或其它设备:例如 /dev/lp0 这个打印机装置,/dev/console指控制台

使用者名称:如root,显示给使用者,就是告诉所有用户.

远程主机:例如 @test.adsldns.org

配置文件示例:

  1. # Log all kernel messages to the console. 
  2. # Logging much else clutters up the screen. 
  3. #kern.*                                                 /dev/console 
  4. # Log anything (except mail) of level info or higher. 
  5. # Don't log private authentication messages! 
  6. *.info;mail.none;authpriv.none;cron.none                /var/log/messages 
  7. # The authpriv file has restricted access. 
  8. authpriv.*                                              /var/log/secure 
  9. # Log all the mail messages in one place. 
  10. mail.*                                                  -/var/log/maillog 
  11. # Log cron stuff 
  12. cron.*                                                  /var/log/cron 
  13. # Everybody gets emergency messages 
  14. *.emerg                                                 * 
  15. # Save news errors of level crit and higher in a special file. 
  16. uucp,news.crit                                          /var/log/spooler 
  17. # Save boot messages also to boot.log 
  18. local7.*                                                /var/log/boot.log 

logrotate配置:

/etc/logrotate.conf和/etc/logrotate.d/*

这是一个默认配置文件,也就是如果具体的服务没有具体设置就采用此默认项.

  1. # see "man logrotate" for details 
  2. # rotate log files weekly 
  3. weekly 
  4. # keep 4 weeks worth of backlogs 
  5. rotate 4 
  6. create new (empty) log files after rotating old ones 
  7. create 
  8. # uncomment this if you want your log files compressed 
  9. #compress 
  10. # RPM packages drop log rotation information into this directory 
  11. #具体程序的配置文件在下面这个目录内,语法规则类似 
  12. include /etc/logrotate.d 
  13. no packages own wtmp -- we'll rotate them here 
  14. /var/log/wtmp {  --phpfensi.com 
  15. monthly 
  16. minsize 1M 
  17. create 0664 root utmp 
  18. rotate 1 
  19. # system-specific logs may be also be configured here.

Tags: linux日志文件 linux日志分析

分享到: