zoukankan      html  css  js  c++  java
  • 【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  ]
    

      

  • 相关阅读:
    详解Winform多线程编程基本原理
    asp.net 文件夹和文件的创建、删除
    sql server 查询表名,存储过程,列名等
    随机输出数组中的一个数
    C# 获取Access数据库中所有表名及其列名、列类型
    Oracle 数据库小记
    Oracle11g、PLSQL、Winfrom环境搭建
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    Android开发中用到的框架、库介绍
    Android数据存储
  • 原文地址:https://www.cnblogs.com/qq1148932219/p/10685546.html
Copyright © 2011-2022 走看看