Linux服务器系统日志查看与管理指南

一、核心日志文件位置

日志文件 记录内容 查看命令
/var/log/messages 通用系统消息(RHEL/CentOS) cat /var/log/messages
/var/log/syslog 通用系统消息(Debian/Ubuntu) tail -f /var/log/syslog
/var/log/auth.log 用户认证日志(SSH/sudo) grep "Failed" /var/log/auth.log
/var/log/kern.log 内核运行日志 journalctl -k
/var/log/boot.log 系统启动日志 cat /var/log/boot.log
/var/log/nginx/* Nginx访问/错误日志 tail -f /var/log/nginx/access.log

二、基础查看方法

  1. 实时监控日志

    bash

    复制

    下载

    tail -f /var/log/syslog  # 持续输出新日志
  2. 按时间筛选

    bash

    复制

    下载

    journalctl --since "2024-05-20 09:00:00" --until "2024-05-20 18:00:00"
  3. 关键词过滤

    bash

    复制

    下载

    grep -i "error" /var/log/messages  # 筛选错误信息

三、高级分析技巧

  1. 统计HTTP状态码(Nginx示例)

    bash

    复制

    下载

    awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
  2. 检测暴力破解尝试

    bash

    复制

    下载

    awk '/Failed password/{print $11}' /var/log/auth.log | sort | uniq -c | sort -n
  3. 日志时间范围提取

    bash

    复制

    下载

    sed -n '/May 20 10:00:00/,/May 20 11:00:00/p' /var/log/syslog

四、日志轮转配置

  1. 查看当前配置

    bash

    复制

    下载

    cat /etc/logrotate.conf
    ls /etc/logrotate.d/
  2. 自定义Nginx日志轮转

    bash

    复制

    下载

    sudo nano /etc/logrotate.d/nginx
    conf

    复制

    下载

    /var/log/nginx/*.log {
        daily
        missingok
        rotate 30
        compress
        delaycompress
        notifempty
        create 0640 www-data adm
        sharedscripts
        postrotate
            /usr/sbin/nginx -s reload
        endscript
    }

五、系统日志服务(journalctl)

  1. 基本用法

    bash

    复制

    下载

    journalctl -xe               # 查看详细系统日志
    journalctl -u nginx.service  # 查看指定服务日志
  2. 导出日志到文件

    bash

    复制

    下载

    journalctl --since "1 hour ago" > recent_logs.txt

六、安全审计日志

  1. 启用auditd服务

    bash

    复制

    下载

    sudo systemctl start auditd
    sudo auditctl -l  # 查看当前规则
  2. 监控文件修改

    bash

    复制

    下载

    sudo auditctl -w /etc/passwd -p wa -k passwd_changes
    ausearch -k passwd_changes  # 查询记录

七、日志分析工具推荐

工具 功能 安装命令
GoAccess 实时Web日志分析 sudo apt install goaccess
Logwatch 每日日志摘要报告 sudo apt install logwatch
ELK Stack 企业级日志分析平台 需Docker/独立服务器部署

八、关键故障排查场景

  1. 服务器突然重启

    bash

    复制

    下载

    grep -i "shutdown" /var/log/messages
    last reboot  # 查看重启历史
  2. 磁盘空间不足

    bash

    复制

    下载

    grep "disk full" /var/log/syslog
    df -h  # 检查磁盘使用
  3. 服务启动失败

    bash

    复制

    下载

    journalctl -u mysql --no-pager -n 50  # 查看MySQL最后50条日志

九、日志归档策略

  1. 自动清理旧日志

    bash

    复制

    下载

    sudo find /var/log -type f -name "*.log" -mtime +30 -delete
  2. 远程日志备份(rsync示例)

    bash

    复制

    下载

    rsync -avz /var/log/ backup-server:/backups/$(hostname)-logs/

十、最佳实践建议

  1. 统一收集:使用Fluentd/Filebeat集中管理多服务器日志

  2. 敏感信息过滤:配置日志系统不记录密码等隐私数据

  3. 监控告警:设置Logcheck检测异常日志模式

通过系统化日志管理,可快速定位80%以上的服务器问题。建议对关键服务(如数据库)建立单独的日志分析流程。

给TA打赏
共{{data.count}}人
人已打赏
其它教程

美国服务器网络漏洞扫描与修复完整指南

2025-5-9 6:31:31

其它教程

隐藏服务器真实IP并确保攻击仅指向高防IP的完整方案

2025-5-9 6:34:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索