Linux的日志文件

Posted 他和晚风一样温柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的日志文件相关的知识,希望对你有一定的参考价值。

日志的功能

功能:

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

主要的日志文件

日志类型位置
内核及公共消息日志/var/log/messages
计划任务日志/var/log/cron
系统引导日志/var/log/dmesg
邮件系统日志/var/log/maillogo
用户登录日志/var/log/lastlog/var/log/secure/var/log/wtmp/varlrun/btmp

日志的分类

1.内核及系统日志

  • 由系统服务 rsyslog 统一进行管理,日志格式基本相似
  • 主配置文件 /etc/rsyslog.conf

2.用户日志

  • 记录系统用户登录及退出系统的相关信息
  • 主配置文件 /var/log/secure

3.程序日志

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

用户登录日志

1.文件位置:/var/log/secure:

  • 记录用户认证相关的安全事件信息

2.文件位置/var/log/lastlog

  • 记录每个用户最近的登录事件,二进制格式

3.文件位置/var/log/wtmp

  • 记录每个用户登录、注销及系统启动和关机事件,比如黑客恶意破解账号的信息;二进制格式

4.文件位置/var/run/utpm

  • 记录当前登录的每个用户的详细信息

5.文件位置/var/run/btmp

  • 记录失败的、错误的登录尝试及验证事件,二进制格式

在这里插入图片描述
在这里插入图片描述

邮件系统日志

文件位置:/var/log/maillog:

  • 记录进入或发出系统的电子邮件活动,现在Linux 中很少使用系统邮件了

系统引导日志

文件位置:/var/log/dmesg:

  • 记录Linux系统在引导过程中的各种事件信息

计划任务日志

文件位置:/var/log/cron:

  • 记录 crond 计划任务产生的事件信息,比如通过 at 、crontab 命令增加的定时任务执行记录

内核及公共消息日志

文件位置:/var/log/messages:

  • 记录 Linux内核 消息及各种 应用程序 的公共日志信息,包括启动、IO错误、网络错误、程序故障 等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。最重要的日志文件

日志配置文件

1.文件位置/etc/rsyslog.conf

  • 系统内核日志配置文件:/etc/rsyslog.conf
  • 日志等级,用消息名表示:
查看rsyslog.conf配置文件

vim /etc/rsyslog.conf           编写文件

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

*.info                      #表示info等级及以上的所有等级的信息都写到【对应的日志文件】里
mail.none              #表示某事件的信息不写到日志文件里(这里比如是邮件、cron,分号隔开)
cron.DEBUG         #给计划任务DEBUG 日志级别

如图:
在这里插入图片描述

日志消息的优先级别

  1. Linux系统内核日志消息的优先级别:

数字等级越小,优先级越高,消息越重要

  • 0 EMERG(紧急):会导致主机系统不可用的情况

  • 1 ALERT(警告):必须马上采取措施来解决的问题

  • 2 CRIT(严重):比较严重的情况

  • 3 ERR(错误):运行出现的错误

  • 4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

  • 5 NOTICE(注意):不会影响正常功能,但是需要注意的事件

  • 6 INFO(信息):一般信息

  • 7 DEBUG(调试):程序或系统调式信息等

  • 内容格式

  • 通常红颜色 或 红色底纹的信息是产生的错误日志;
    如图:
    在这里插入图片描述

程序日志分析

1.由各种应用程序独立管理的日志文件

  • Web服务:/var/log/httpd/ 目录中
    • access_log #记录客户访问事件
    • error_log #记录错误事件
  • 代理服务:/var/log/squid/
    • access.log、cache.log
  • 分析工具
  • 文本查看、grep 过滤检索、Webmin 管理套件中查看
  • awk、sed 等文本过滤、格式化编辑工具
  • Webalizer、Awstats 等专用日志分析工具
  • 建议将日志文件 拿到 window 中使用 格式化文件进行查看,如 editplus、notepad 等

2.程序日志分析,由相应的应用程序独立进行管理
比如我通过浏览器访问当前服务器IP,就会在 /var/log/httpd/access_log 文件中留有记录
如图:
在这里插入图片描述
在这里插入图片描述
小结:

  1. 日常运维中应及时作好备份和归档
  2. 延长日志保存期限
  3. 控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等
  4. 集中管理日志

以上是关于Linux的日志文件的主要内容,如果未能解决你的问题,请参考以下文章

argparse 代码片段只打印部分日志

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

python常用代码片段总结

linux查看日志显示行数代码

python分析apache和nginx日志文件输出访客ip列表的代码

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析