• Apache的日志分割


    内容预知

     1. 日志分割的作用

     2.rotatelogs 分割

    2.1 修改apache服务的主配置文件 

    2.2 创建分割日志保存目录

    ​编辑

    2.3 访问测试,观察日志分割功能是否实现 

     3.软件引入分割——AWStats 分析系统

     3.1 将软件包进行解压

    3.2  为要统计的站点建立配置文件

    3.3修改自动生成的 awstats 访问权限,加载 CGI 模块 

    3.4 修改站点统计配置文件 

    3.5 执行日志分析,并设置 cron 计划任务 

    3.6 访问 AWStats 分析系统站点 

    3.7 优化网页地址 


     1. 日志分割的作用

    我们知道当服务安装完成以后,都会在相关服务下有一个logs文件里面有着访问日志和错误日志。访问日志可以帮我们记录访问者的信息,错误日志一般在服务搭建,服务配置,启动时能够快速寻找错误原因的日志,也是运维人员的助手。但是默认的日志都是在一个文件中,随着使用服务时间的推移,日志中的信息也会变的非常冗长且难以查找,例如我想查找上个星期的某一天的日志时,就需要逐条翻阅,大大的增加的维护服务的难度和时间成本。所以日志分割是非常有必要的。

    本次我们介绍有关apche的两种分割日志的手段,能够帮我们自动化分割日志,让日志进行分类 

     

     2.rotatelogs 分割

     使用Apache 自带 rotatelogs 分割工具,将 Apache 的日志进行按每天的日期自动分割。

    2.1 修改apache服务的主配置文件 

    1. vim /usr/local/httpd/conf/httpd.conf
    2. #分割错误日志
    3. ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/benet.com-error_%F.log 86400"
    4. #分割访问日志
    5. CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/benet.com-access_%F.log 86400" combined

     

    2.2 创建分割日志保存目录

    1. mkdir /var/log/httpd
    2. systemctl restart httpd

    2.3 访问测试,观察日志分割功能是否实现 

     

    [root@www logs]#ls /var/log/httpd/
    

     

     3.软件引入分割——AWStats 分析系统

     AWStats 是使用Perl 语言开发的一款开源日志分析系统,它用来完成自动化的日志统计与分析工作。

     

     3.1 将软件包进行解压

    1. cd /opt
    2. tar zxvf awstats-7.6.tar.gz
    3. mv /opt/awstats-7.6 /usr/local/awstats
    4. cd /usr/local/awstats/tools
    5. ./awstats_configure.pl

     

     

    3.2  为要统计的站点建立配置文件

     

    3.3修改自动生成的 awstats 访问权限,加载 CGI 模块 

     注意:Apache 2.4 以上版本需要加载CGI 模块

     

     --143行开始取消以下的注释--

     

     

    1. --跳至末行修改--
    2. <Directory "/usr/local/awstats/wwwroot">
    3. Options None
    4. AllowOverride None
    5. #Order allow,deny #注释掉
    6. #Allow from all #注释掉
    7. Require all granted #添加
    8. </Directory>

    3.4 修改站点统计配置文件 

     

    1. #awstats目录默认不存在,需要手动创建
    2. mkdir /var/lib/awstats
    3. vim /etc/awstats/awstats.www.yang.com.conf

     

     

     

    3.5 执行日志分析,并设置 cron 计划任务 

     

    1. systemctl restart httpd
    2. cd /usr/local/awstats/tools/
    3. ./awstats_updateall.pl now #更新数据(根据站点配置文件指定的日志文件路径获取日志数据)
    4. #注意,更新数据前最好先把access.log文件清空后重新访问站点,再获取日志数据。

     

     

    1. crontab -e
    2. */5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
    3. systemctl start crond

     

     

    3.6 访问 AWStats 分析系统站点 

    1. [root@www tools]#systemctl stop firewalld
    2. [root@www tools]#systemctl disable firewalld
    3. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    4. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    5. [root@www tools]#setenforce 0
    6. [root@www tools]#echo "192.168.73.105 www.yang.com" >> /etc/hosts
    7. [root@www tools]#crontab -e
    8. crontab: installing new crontab
    9. 您在 /var/spool/mail/root 中有邮件

     

    在主机中进行访问测试:http://www.yang.com/awstats/awstats.pl?config=www.yang.com

     

     

    3.7 优化网页地址 

     

    1. vim /usr/local/httpd/htdocs/aws.html
    2. <html>
    3. <head>
    4. <meta http-equiv=refresh content="0;url=http://www.yang.com/awstats/awstats.pl?config=www.yang.com">
    5. </head>
    6. <body></body>
    7. </html>

     

     再次访问测试:

    1. 在虚拟机火狐中:
    2. 只需要访问地址:http://www.yang.com/aws.html

     

     

     

  • 相关阅读:
    数据栅格化
    进程间的通信方式
    配置 websocket 持续时间
    Log4j2
    JavaScipt基础(持续更新一)
    refseq数据库的特点_eureka如何剔除服务
    中控屏成智能家居新宠?
    hive中的join操作及其数据倾斜
    【无标题】
    AI大模型日报#0420:开源模型击败GPT-4、西湖大学蛋白质通用大模型、GPT的七条经验
  • 原文地址:https://blog.csdn.net/qq_62462797/article/details/127029998