Linux系统日志指南

1、日志分析与问题处理思路

1、 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。
2、 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在。
3、 分析、定位问题:这个过程是比较复杂的,根据报错信息,结合日志文件,同时还要考虑其它相关情况,最终找到引起问题的原因。
4、 解决问题:找到了问题出现的原因,解决问题就是很简单的事情了。

解决问题的过程就是分析、查找问题的过程,一旦确定问题产生的原因,故障也就随之解决了。

2、需要分析哪些日志文件
系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。
用户日志:用与记录Linux系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
应用日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件消息。

二、 系统日志文件解读

在 Linux 系统中,系统日志文件是排查问题、监控系统状态和审计安全性的核心工具。日志通常存放在 /var/log 目录下。

Linux 主要日志文件详解

日志文件路径主要作用包含内容适用系统查看命令示例
/var/log/messages通用系统日志系统启动信息、系统运行状态、非认证相关的服务日志(内核、应用等)CentOS/RHELtail -f /var/log/messages
/var/log/syslog通用系统日志同 messages,记录系统整体运行情况Ubuntu/Debiantail -f /var/log/syslog
/var/log/auth.log认证与安全日志用户登录、sudo操作、ssh登录尝试、认证失败记录Ubuntu/Debiangrep "Failed password" /var/log/auth.log
/var/log/secure安全认证日志sshd登录、PAM认证、sudo使用情况、用户切换(su)CentOS/RHELgrep "sudo" /var/log/secure
/var/log/audit/audit.log内核审计日志文件访问监控、系统调用记录、权限拒绝事件、敏感文件修改(如/etc/passwd)所有(需安装auditd)ausearch -m USER_LOGIN
aureport --login
/var/log/boot.log系统启动日志开机启动服务的状态(成功/失败)、内核引导信息所有cat /var/log/boot.log
/var/log/cron定时任务日志crontab任务执行记录、任务输出、执行时间所有tail -f /var/log/cron
/var/log/maillog邮件服务器日志邮件发送/接收记录、postfix/sendmail运行状态CentOS/RHELgrep "status=sent" /var/log/maillog
/var/log/mail.log邮件服务器日志同maillog,邮件服务相关日志Ubuntu/Debiantail -f /var/log/mail.log
/var/log/kern.log内核日志内核产生的消息、硬件错误、驱动问题Ubuntu/Debiangrep "error" /var/log/kern.log
/var/log/dmesg内核环缓冲区日志硬件识别信息、驱动加载状态、启动时的内核消息所有dmesg 或 tail -f /var/log/dmesg
/var/log/httpd/Apache日志目录access_log(访问日志)、error_log(错误日志)Web服务器tail -f /var/log/httpd/access_log
/var/log/nginx/Nginx日志目录access.log(访问日志)、error.log(错误日志)Web服务器tail -f /var/log/nginx/access.log
/var/log/mysql/MySQL日志目录error.log(错误日志)、slow.log(慢查询日志)数据库服务器tail -f /var/log/mysql/error.log
/var/log/lastlog最后登录日志所有用户最后一次登录时间所有lastlog
/var/log/wtmp登录历史日志所有用户的登录/注销历史记录(二进制)所有last
/var/log/btmp失败登录日志所有失败的登录尝试记录(二进制)所有lastb
/var/log/faillog登录失败日志用户登录失败的详细记录所有faillog

快速定位

 想看什么?
1. 系统问题 → /var/log/messages 或 /var/log/syslog
2. 登录问题 → /var/log/secure 或 /var/log/auth.log
3. 内核问题 → /var/log/kern.log 或 dmesg
4. 服务问题 → 对应服务的日志目录
5. 安全问题 → /var/log/audit/audit.log
6. 谁登录过 → last 或 lastlog

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注