运维开发网

浅析Linux文件(二)日志文件详解

运维开发网 https://www.qedev.com 2020-07-13 11:00 出处:网络
日志的功能 用于记录系统、程序运行中发生的各种事件 通过阅读日志,有助于诊断和解决系统故障
日志的功能
  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

日志文件的分类

  • 内核及系统日志:

    由系统服务syslog统一 进行管理,日志格式基本相似

  • 用户日志:

    记录系统用户登录及退出系统的相关信息

  • 程序日志:

    由各种应用程序独立管理的日志文件,记录格式不统一

日志保存位置

默认位于:/var/log目录下

主要日志文件介绍

日志文件类型 日志文件目录
内核及公共消息日志 /var/log/messages
计划任务日志 /var/log/cron
系统引导日志 /var/log/dmesg
邮件系统日志 /var/log/maillog
用户登录日志 /var/log/lastlog、/var/log/secure、/var/log/wtmp、/var/run/btmp

日志消息的级别

浅析Linux文件(二)日志文件详解

日志文件的查看

cat命令:显示整个文件

常用选项:

-n :                     由 1 开始对所有输出的行数编号
-b :                    -n 相似,只不过对于空白行不编号
-s :                     当遇到有连续两行以上的空白行,就代换为一行的空白行

more命令: 以阅读模式查看日志(enter向下滚动、space向下翻页、b向上翻页,q退出)


less命令:跟more命令使用功能差不多,只不过less可以查看最后一页,more命令到最后一页自动退出阅读模式


head命令:从文本文件的头部开始查看,用于查看一个文本文件的开头部分

-n:     指定需要显示多少行

tail命令:从文本文件的尾部开始查看,用于显示文本文件的末尾几行,通常用来查看新增的日志信息

-n:                   指定需要显示多少行    
   -f :                   自动显示新增的文件内容

用户日志分析

保存了用户登录、退出系统等相关信息:

/var/log/lastlog:                     //最近的用户登录事件
/var/log/wtmp:                        //用户登录、注销及系统开、关机事件
/var/run/utmp:                        //当前登录的每个用户的详细信息
/var/log/secure:                     //与用户验证相关的安全性事件

分析工具

  • users、who、W、last、 lastb

user命令:显示当前登陆的用户名称,每个显示用户名对应一个登陆会话

[[email protected] ~]# users
jiang root root
[[email protected] ~]#

who命令:查看当前正在登录的用户

[[email protected] ~]# who
root     :1           2019-08-09 19:58 (:1)
root     pts/1        2019-08-28 19:18 (192.168.52.1)
jiang    :2           2019-08-28 19:32 (:2)
[[email protected] ~]#

w命令:查看当前系统信息和用户登录信息

[[email protected] ~]# w
 19:39:20 up  1:19,  4 users,  load average: 0.00, 0.09, 0.13
USER     TTY      FROM             [email protected]   IDLE   JCPU     WHAT
root     :1       :1               098月19 ?xdm?   1:39   0.09s /usr/libexec/gnome-session-binary --sess
root     pts/1    192.168.52.1     19:18    0.00s  0.08s  0.02s w
jiang    :2       :2               19:32   ?xdm?   1:39   0.10s /usr/libexec/gnome-session-binary --sess
[[email protected] ~]#

last命令:查询成功登陆到系统的用户信息,最新情况显示在最前面

[[email protected] ~]# last
jiang    :2           :2               Wed Aug 28 19:32   still logged in   
root     pts/1        192.168.52.1     Wed Aug 28 19:18   still logged in   
root     pts/0        :1               Wed Aug 28 19:18 - 19:18  (00:00)    
root     pts/0        :1               Tue Aug 13 16:20 - 16:21  (00:00)    
root     pts/0        :1               Fri Aug  9 20:24 - 20:27  (00:03)    
root     pts/0        :1               Fri Aug  9 20:23 - 20:24  (00:00)    
root     pts/0        :1               Fri Aug  9 20:23 - 20:23  (00:00)    
root     pts/0        :1               Fri Aug  9 20:22 - 20:22  (00:00)    
root     pts/0        :1               Fri Aug  9 20:14 - 20:20  (00:05)    
root     pts/0        :1               Fri Aug  9 20:01 - 20:11  (00:09)    
root     :1           :1               Fri Aug  9 19:58   still logged in   
jiang    :0           :0               Fri Aug  9 19:48 - 19:58  (00:09)    
reboot   system boot  3.10.0-693.el7.x Fri Aug  9 19:32 - 19:41 (19+00:09)  

wtmp begins Fri Aug  9 19:32:34 2019
[[email protected] ~]#

lastb命令:查询登陆失败的用户记录,如用户名、密码错误都有记录,属于安全事件,也可以从安全日志 /var/log/secure 中查询相关信息

[[email protected] ~]# lastb
jiang    :0           :0               Wed Aug 28 19:59 - 19:59  (00:00)    
jiang    :0           :0               Wed Aug 28 19:59 - 19:59  (00:00)    
jiang    :0           :0               Wed Aug 28 19:59 - 19:59  (00:00)    

btmp begins Wed Aug 28 19:59:19 2019
[[email protected] ~]#

程序日志分析

由相应的应用程序独立进行管理

  • Web服务: /var/log/httpd/

    access log、 error log

  • 代理服务: /var/log/squid/

    access.log、 cache.log、

  • FTP服务: /var/log/xferlog

分析工具:

  • 文本查看、grep过滤检索、Webmin管理套件中查看

  • awk、sed等文本过滤、格式化编辑工具

  • Webalizer、Awstats等专用 日志分析工具

日志管理策略

  • 及时作好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限

    日志中可能会包含各类敏感信息,如账户、口令等

  • 集中管理日志将服务器的日志文件发到统一-的日志文件服务器便于日志信息的统一-收集、整理和分析杜绝日志信息的意外丢失、恶意篡改或删除
0

精彩评论

暂无评论...
验证码 换一张
取 消