Chinaunix首页 | 论坛 | 博客
  • 博客访问: 774173
  • 博文数量: 143
  • 博客积分: 2077
  • 博客等级: 大尉
  • 技术积分: 2393
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-28 12:57
文章存档

2016年(2)

2015年(3)

2014年(3)

2013年(41)

2012年(94)

分类: LINUX

2012-10-20 09:45:48

日志文件与linux下常见的日志文件名
  日志文件可以记录系统在什么时间、哪个主机、哪个服务、出现了什么信息。
日志文件的重要性:
  解决系统方面的错误
  解决网络服务问题
  过往事件记录等

linux常见的日志文件名
  /var/log/cron  工作调度
  /var/log/dmesg  内核检测过程中产生的信息
  /var/log/lastlog  检测所有账号登陆信息
  /var/log/maillog或/var/log/mail/*  邮件
  /var/log/messages  记录系统发生的所有错误信息
  /var/log/secure  涉及账号密码信息
  /var/log/wtmp,/var/log/faillog  记录正确登陆系统与错误登陆系统者的账号信息
  /var/log/httpd/*,/var/log/news/*,/var/log/samba/*  不同网络服务的信息记录处

日志文件系统所需相关服务与进程
  日志文件系统的产生,一种是由软件开发商自行定义写入的日志文件与相关格式,另一种则是由linux提供的日志文件管理服务来同一管理。
  CentOS提供syslogd这个服务来统一管理。
  还有一个专门记录内核信息的日志文件服务,就是klogd。所以,日志文件所需的服务主要就是 syslogd与klogd这两者。
  
  可以通过logrotate(日志文件轮替)来自动化处理日志文件容量与更新问题。所以:
syslogd:主要控制系统与网络等服务的日志记录的信息
klogd:主要控制内核产生的各种问题的日志
logrotate:主要进行日志文件的轮替功能

syslogd:记录日志文件的服务
  检查syslogd是否启动:#ps aux |grep syslog   #chkconfig --list syslog

  先看看日志文件内容的一般格式
  #cat /var/log/secure
|---日期/时间--|---服务相关函数-----------------|-----信息说明-------->
举例来说:第一行意思是,那个时间点,有www这台主机的su传来消息,这个消息是通过pam_unix这个模块提出的,内容为tianqi这个账号的su服务已经被root打开了。

syslogd的配置文件:/etc/syslog.conf
  这个文件规定了什么服务的什么等级信息以及需要被记录在哪里。
  语法为:   服务名称[.=!]信息等级 信息记录的文件名或设备或主机
  例如:mail.info /var/log/maillog.info
      意思是mail服务产生的大于等于info等级的信息,都会记录到/var/log/maillog.info文件中。

1.syslog设置的服务主要有下面那这些:
服务类型 说明
auth(authpriv) 主要与认证有关的机制
cron 类型性工作调度cron/at等生成信息日志的地方
daemon 与各个daemon有关的信息
kern 就是内核产生信息的地方
lpr 打印机相关信息
mail 与邮件收发有关的信息
news 与新闻组服务器有关的东西
syslog syslogd这个程序本身生成的信息
user uucp,local0~local7 与UNIX like机器本身有关的一些信息
  为了让不同的服务放到不同的文件当中,好让我们分门别类进行日志文件的管理,就是/etc/syslog.conf这个文件所要做的规范了。

2.信息等级
  syslog将信息分为七个等级
等级 等级名称 说明
1 info 仅是一些基本的信息说明而已
2 notice 除了info外还需要注意的一些信息
3     warning(warn) 警示信息,可能有问题,但不至于影响到某个daemon运行的信息
4     err(error) 一些重大的错误信息
5 crit 比error还严重的信息,到临界点了
6 alert 警告,问题已经很严重了(比crit严重)
7     emerg(panic) 疼痛等级,意指系统已经要死机的状态
  除了这些,还有两个特殊的等级,那就是debug(错误检测等级)与none(不需登陆等级)

3.注意一下那个连接号:
  “.”:代表比后面还要高的等级(含该等级)都被记录下来
  “.=”:代表所需要的等级就是后面接的等级而已
  “.!”:代表不等于,即是除了该等级以外的其他等级信息都记录

4.信息记录的文件名或设备或主机
  就是这个信息要放到哪里。通常我们都是使用文件,但也可以输出到设备。下面是一些常见放置处:
 文件的绝对路径:通常就是放在 /var/log/ 下面。
 打印机或其他:例如 /dev/lp0这个打印机。
 用户名称:显示给用户。
 远程主机:例如 @当然,要对方主机支持才行。
 *:代表目前在线的所有人,类似wall这个命令。

  例子:将新闻组资料及例行性工作调度的信息都写入到 /var/log/cronnews的文件中,但两个程序的警告信息则额外记录到 /var/log/cronnews.warn中。
  #vim /etc/syslog.conf
  news.*;cron.* /var/log/cronnews
  news.=warn;cron.=warn /var/log/cronnews.warn
  这样就好了,news.*代表所有信息。
  例子:messages这个文件要记录所有信息,但就是不想记录cron,mail,news的信息。
  #vim /etc/syslog.conf
  *.*;news,cron,mail.none /var/log/messages
 或者
  *.*;news.none;cron.none;mail.none /var/log/messages
 
再看看/ect/syslog.conf文件
有一行没显示出来:
#kern.* /dev/console   表示内核产生的信息,全都送到终端机去。
local7.*     将本机开机时应该显示到屏幕上的信息都写入/var/log/boot.log中。
mail.*       这一行文件前有“-”,由于邮件产生的信息比较多,因此我们希望邮件产生的信息先记录在速度较快的内存中,等数据量够大时再一次性写入。

  再次,如果你自己要增加什么日志信息,请去/etc/syslog.conf里面去修改。
  
阅读(5532) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~