【Linux】日志分析及管理

日志的作用
 
用于记录系统、程序运行中发生的各种事件
 
eg:
[root@localhost ~]# yum install -y httpd
[root@localhost ~]# tail -f /var/log/messages 
Aug  4 14:10:01 localhost yum: Installed: apr-1.2.7-11.el5_3.1.i386
Aug  4 14:10:03 localhost yum: Installed: postgresql-libs-8.1.18-2.el5_4.1.i386
Aug  4 14:10:05 localhost yum: Installed: apr-util-1.2.7-11.el5.i386
Aug  4 14:10:11 localhost yum: Installed: httpd-2.2.3-43.el5.i386

 

通过阅读日志,有助于诊断和解决系统故障
 
eg:
[root@localhost ~]# service dhcpd restart  
Starting dhcpd:                                            [FAILED]
[root@localhost ~]# tail -f /var/log/messages 
Aug  4 14:22:36 localhost dhcpd: ** You must add a global ddns-update-style statement to /etc/dhcpd.conf.

 

日志文件的分类
  内核及系统日志
    由系统服务rsyslog统一进行管理,日志格式基本相似
  用户日志
    记录系统用户登录及退出系统的相关信息
  程序日志
    由各种应用程序独立管理的日志文件,记录格式不统一
 
日志格式
  [root@localhost ~]# tail -5 /var/log/messages
  Sep 14 11:22:44 localhost kernel: sdb: cache data unavailable
  Sep 14 11:22:44 localhost kernel: sdb: assuming drive cache: write through
  Sep 14 11:22:44 localhost kernel: sdb: sdb1
  Sep 14 11:23:37 localhost kernel: VFS: Can't find ext3 filesystem on dev sdb1.
  Sep 14 16:54:48 localhost NetworkManager: <information> starting...
             ↑时间标签 ↑主机名字  ↑子系统名       ↑消息字段
 
日志的级别
  日志级别
    NONE:        什么都不记录
    EMERG(紧急):会导致主机系统不可用的情况
    ALERT(警告):必须马上采取措施解决的问题
    CRIT(严重):比较严重的情况
    ERR(错误):运行出现错误
    WARNING(提醒):可能会影响系统功能的事件
    NOTICE(注意):不会影响系统但值得注意
    INFO(信息):一般信息
    DEBUG(调试):程序或系统调试信息等
  从下到上,级别从低到高,记录的信息越来越少
 
日志处理方式
  本地文件:通常就是文件的绝对路径
  打印机:例如 /dev/lp0 这个打印机装置
  用户名称:显示给用户
  远程主机:例如 @202.100.100.1
  *:所有在线的用户
 
系统日志保存位置
  默认位于:/var/log 目录下
 
主要日志文件介绍
  内核及公共消息日志:/var/log/messages
  计划任务日志:/var/log/cron
  系统引导日志:/var/log/dmesg
  邮件系统日志:/var/log/maillog
 
 
程序日志文件
  由相应的应用程序独立进行管理
  Web服务:/var/log/httpd/
  access_log、error_log
  代理服务:/var/log/squid/
  access.log、cache.log、squid.out、store.log
  FTP服务:/var/log/xferlog
  ……
分析工具
  文本查看、grep过滤检索、Webmin管理套件中查看
  awk、sed等文本过滤、格式化编辑工具
  Webalizer、Awstats等专用日志分析工具
 
用户日志文件
  保存了用户登录、退出系统等相关信息
  /var/log/lastlog:最近的用户登录事件
  /var/log/wtmp:用户登录、注销及系统开、关机事件
  /var/run/utmp:当前登录的每个用户的详细信息
  /var/log/secure:与用户验证相关的安全性事件
用户登录分析
  who、w、users、last、ac、lastlog
日志管理策略
  及时作好备份和归档
  控制日志访问权限
  日志中可能会包含各类敏感信息,如账户、口令等
  集中管理日志
  使用日志服务器便于日志的统一收集、整理和分析
  杜绝日志信息的意外丢失、恶意篡改或删除

应用实例

日志服务器
 
调整rsyslog服务设置,建立集中管理的日志服务器
将客户机B中所有日志消息,自动发送到服务器A的日志文件中
在服务器上配置:
  1、修改/etc/rsyslog.conf文件,把以下2项的注释取消
    $ModLoad imudp
    $UDPServerRun 514
  2、重启rsyslog服务
    service rsyslog restart
[root@localhost ~]# vim /etc/rsyslog.conf 

# rsyslog v5 configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

[root@localhost ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

  

在客户机上配置:
  1、修改/etc/rsyslog.conf文件,在最后加一行,内容如下:
    *.* @服务器IP
  2、重启rsyslog服务
    service rsyslog restart
  测试
    在客户机通过logger添加日志
    在服务器上查看日志
[root@localhost ~]#  vim /etc/rsyslog.conf

# Save boot messages also to boot.log
local7.*                                  /var/log/boot.log
*.*                                       @172.16.66.188
[root@localhost ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

  

posted @ 2019-04-10 19:31  ToMrYuTao  阅读(219)  评论(0编辑  收藏  举报