linux 日志管理        

    目前,linux依旧使用syslogd作为日志监控进程,对其进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。

     /etc/syslog.conf根据如下的格式定义规则: facility.level action设备.优先级 动作facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。 #号开头的是注释,空白行会自动跳过。

  facility
  • cron
  • mail
  • authpriv
  • uucp
  • local0-local7
  • news  
 
level 由高到低
  • emerg,级别较高,等同于panic 
  • crit 阻止某些工具或子系统功能实现的错误条件
  • info 提供信息的消息
  • none 测试  
 
action 
  • file 指定日志文件的绝对路径
  • @host 指定远程的日志服务器地址
  • username 发送提醒到用户的窗口,但是必须是本地
         
二、举例
   #kern.*                                                 /dev/console

  # Log anything (except mail) of level info or higher.

   # Don't log private authentication messages!

   *.info;mail.none;authpriv.none;cron.none                /var/log/messages 

   # The authpriv file has restricted access.

   authpriv.*                                              /var/log/secure 

   # Log all the mail messages in one place.

   mail.*                                                  -/var/log/maillog  
   # Log cron stuff  
  cron.*                                                  /var/log/cron
   # Everybody gets emergency messages
   *.emerg                                                 * 

   # Save news errors of level crit and higher in a special file

   uucp,news.crit                                          /var/log/spooler 
   # Save boot messages also to boot.log
   local7.*                                                /var/log/boot.log
     以上就是/etc/syslog.conf文件的大概内容,现在应该能够翻译出大概意思。
 
三、重点日志
  1. message日志 

首先说下我们最关注的系统/var/log/messages,这东东不仅是咱们服务器的系统日志,很多时候它也做了许多服务的日志,这也是它被称为杂货铺的原因,值得重点关注,大家一般都喜欢用以下命令看最后十条日志  

                tail -n10 /var/log/messages  
 其实还可以将一段日志保存成文件,正用练下自己的awk、sed和grep水平;或者直接用vim来查看,这也是算是一种经验之谈吧。我以前配置bind的主从复制,有时因为权限的原因报错;这时可以在一台报错的服务器上用命令

      其实查看服务器的变化情况,从中查找错误的蛛丝马迹;事实证明,效果很好,而且用于lvs+keepalived的排错效也不错,其它事例依此类推。

  1. securer日志

 /var/log/secure:记录登入系统存取数据的文件,例如 pop3, ssh, telnet, ftp 等都会被记录,我们可以利用此文件找出不安全的登陆IP。

 

  1.  lastlog                                                         

 /var/log/lastlog : 记录每个使用者最近签入系统的时间, 因此当使用者签入时, 就会显示其上次签入的时间,您应该注意一下这个时间, 若不是您上次签入的时间, 表示您的帐号可能被人盗用了。 此档可用 /usr/bin/lastlog 指令读取(Freebsd下为/usr/sbin/lastlogin)。

 四、其他日志 
         像系统的一些服务,比如Apache、Nginx、Squid、还有mysql,都有自己的特定的日志文件,由于格式比较复杂,也推荐用专业工具,如Awstats、Cacti来分析,现在用cacti用得比较多是用它分析Nginx负载均衡器的一段时间的并发情况。  
五、需求增加
 如果我们要在新生成一份日志文件,需要做的是。
(1)×××/etc/syslog.conf  
(2) 加入一行 kern.warning          /var/log/iptables.log  
(3) 保存配置并重起syslogd
六、日志轮状

略带日志轮转配置文件                           /etc/logrotate.conf