码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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

     

     

     

  • 相关阅读:
    Delay - 如何用 Redis 打造一个延迟队列、广播(附加工具)
    直接用的zip包 缺少很多依赖,pip没有,感觉用anaconda create一个环境会方便点
    MySQL是如何执行一条SQL更新语句
    JavaScript 工具函数大全
    如何实现table表头固定但是tbody可以滚动【附源码实例】
    databinding 一篇文章就够了
    Sphinx Docstring
    图书馆公众号自动预约python版
    Service和启动其他应用的功能和替换Fragment
    微信小程序复杂对象的双向绑定(附代码可直接使用)
  • 原文地址:https://blog.csdn.net/qq_62462797/article/details/127029998
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号