温馨提示×

CentOS下Apache日志管理技巧

小樊
46
2025-09-07 22:26:48
栏目: 智能运维

一、日志文件位置

  • 访问日志/var/log/httpd/access_log
  • 错误日志/var/log/httpd/error_log
  • HTTPS日志ssl_access_logssl_error_log

二、日志轮转配置

  • 工具:使用logrotate(默认已安装)。
  • 配置文件/etc/logrotate.d/httpd
  • 示例配置(每天轮转,保留7天,压缩):
    /var/log/httpd/*.log { daily rotate 7 compress missingok notifempty create 640 root adm sharedscripts postrotate /usr/sbin/service httpd reload > /dev/null endscript } 
    执行sudo logrotate -f /etc/logrotate.d/httpd测试配置。

三、日志查看与分析

  • 命令行工具
    • tail -f:实时查看最新日志。
    • grep:搜索关键字(如错误信息)。
    • cat:查看完整日志(谨慎用于大文件)。
  • 分析工具
    • 轻量级lnav(支持日志导航、过滤)。
    • 可视化AwstatsWebalizerELK Stack(适合大规模日志分析)。

四、优化技巧

  • 调整日志级别:在httpd.conf中设置LogLevel(如warn减少冗余日志)。
  • 启用异步日志(Apache 2.4+):减少I/O阻塞,提升性能。
  • 精简日志格式:使用combinedcommon格式替代verbose

五、安全与自动化

  • 定期清理过期日志:通过cron定时任务删除超过指定天数的日志(如90天)。
    # 示例脚本(保存为clean_apache_logs.sh): find /var/log/httpd/ -type f -name "*.log.*" -mtime +90 -exec rm -f {} \; chmod +x clean_apache_logs.sh crontab -e # 添加:0 0 * * * /path/to/clean_apache_logs.sh 
  • 权限管理:确保日志文件权限为640,属主为root:adm

0