Linux 服务器日志管理与故障排查指南
一、前言
在Linux运维工作中,日志是诊断问题、优化性能和提高系统安全性的关键工具。本文将介绍Linux日志管理的核心知识,包括日志种类、存储路径、日志轮转配置以及实际排查案例。
二、Linux 日志基础
1. 日志分类
Linux服务器的日志主要分为以下几类:
- 系统日志:存放于
/var/log/syslog
(Debian)或/var/log/messages
(RHEL/CentOS)。 - 认证日志:
/var/log/auth.log
(Debian)或/var/log/secure
(RHEL)。 - 内核日志:
/var/log/kern.log
,用于记录系统核心信息。 - 应用日志:例如 Apache/Nginx 的
/var/log/nginx/access.log
。 - 自定义日志:开发者和运维人员自行定义的日志文件。
2. 日志管理工具
- journalctl(针对
systemd
):用于查询journald
记录的日志。 - logrotate:日志轮转工具,可自动归档和删除旧日志。
三、日志轮转(logrotate)
配置文件:/etc/logrotate.conf
或 /etc/logrotate.d/
目录下的配置文件。
示例:
复制编辑
/var/log/nginx/*.log { daily rotate 7 compress missingok notifempty create 0640 www-data adm postrotate systemctl reload nginx > /dev/null 2>&1 || true endscript }
daily
:每天轮转日志。rotate 7
:保留最近7天的日志。compress
:使用gzip
压缩旧日志。postrotate
:日志轮转后重启服务。
四、日志分析与故障排查
案例 1:服务器CPU使用率飙升
- 通过
top
命令确认占用CPU的进程。 - 使用
journalctl -xe
查看系统日志,是否有异常进程重启记录。 - 检查
/var/log/messages
,寻找OOM Killer
日志,判断是否因内存不足导致高负载。
案例 2:Web 服务器响应慢
tail -f /var/log/nginx/access.log
观察请求是否异常。cat /var/log/nginx/error.log | grep "timeout"
查找超时问题。netstat -tunlp
或ss -tulnp
查看端口是否被监听。
五、总结
掌握Linux日志管理和分析方法,是运维工作的核心技能。日志不仅是故障排查的关键工具,也是提高系统稳定性的核心手段。
一、前言
在Linux运维工作中,日志是诊断问题、优化性能和提高系统安全性的关键工具。本文将介绍Linux日志管理的核心知识,包括日志种类、存储路径、日志轮转配置以及实际排查案例。
二、Linux 日志基础
1. 日志分类
Linux服务器的日志主要分为以下几类:
- 系统日志:存放于
/var/log/syslog
(Debian)或/var/log/messages
(RHEL/CentOS)。 - 认证日志:
/var/log/auth.log
(Debian)或/var/log/secure
(RHEL)。 - 内核日志:
/var/log/kern.log
,用于记录系统核心信息。 - 应用日志:例如 Apache/Nginx 的
/var/log/nginx/access.log
。 - 自定义日志:开发者和运维人员自行定义的日志文件。
2. 日志管理工具
- journalctl(针对
systemd
):用于查询journald
记录的日志。 - logrotate:日志轮转工具,可自动归档和删除旧日志。
三、日志轮转(logrotate)
配置文件:/etc/logrotate.conf
或 /etc/logrotate.d/
目录下的配置文件。
示例:
bash
复制编辑
/var/log/nginx/*.log { daily rotate 7 compress missingok notifempty create 0640 www-data adm postrotate systemctl reload nginx > /dev/null 2>&1 || true endscript }
daily
:每天轮转日志。rotate 7
:保留最近7天的日志。compress
:使用gzip
压缩旧日志。postrotate
:日志轮转后重启服务。
四、日志分析与故障排查
案例 1:服务器CPU使用率飙升
- 通过
top
命令确认占用CPU的进程。 - 使用
journalctl -xe
查看系统日志,是否有异常进程重启记录。 - 检查
/var/log/messages
,寻找OOM Killer
日志,判断是否因内存不足导致高负载。
案例 2:Web 服务器响应慢
tail -f /var/log/nginx/access.log
观察请求是否异常。cat /var/log/nginx/error.log | grep "timeout"
查找超时问题。netstat -tunlp
或ss -tulnp
查看端口是否被监听。
五、总结
掌握Linux日志管理和分析方法,是运维工作的核心技能。日志不仅是故障排查的关键工具,也是提高系统稳定性的核心手段。