Ubuntu虚拟机日志分析技巧

一、日志文件位置

  • 系统日志:/var/log/syslog/var/log/auth.log
  • 服务日志:Apache(/var/log/apache2/)、Nginx(/var/log/nginx/
  • 系统启动日志:dmesg/var/log/boot.log

二、基础命令行工具

  • 查看日志cat(完整查看)、less/more(分页查看)、tail -f(实时跟踪)
  • 搜索过滤grep "关键字" /var/log/syslogawk '{print $1,$2}'(提取字段)、sed -n '/ERROR/p'(打印匹配行)

三、专业工具使用

  • 日志管理
    • Logrotate:自动轮转、压缩日志,配置文件位于/etc/logrotate.conf
    • Rsyslog:配置日志输出格式和过滤规则,编辑/etc/rsyslog.conf
  • 可视化分析
    • ELK Stack(Elasticsearch+Logstash+Kibana):用于大规模日志的存储、搜索和可视化。
    • Kibana:通过仪表盘直观展示日志趋势和统计。
  • 系统级分析
    • journalctl:查询systemd日志,支持按时间、服务过滤。
    • Auditd:用于安全审计,生成事件报告。

四、自动化与优化

  • 编写脚本统计错误日志数量,例如:
    #!/bin/bash
    echo "ERROR日志数量: $(grep -c "ERROR" /var/log/syslog)"
    
  • 定期清理旧日志,避免占用磁盘空间:
    sudo find /var/log -type f -name "*.log" -mtime +7 -exec rm -f {} \;