Web服务器群集——部署AWStats基于Apache的日志管理

2024-01-03 03:58

本文主要是介绍Web服务器群集——部署AWStats基于Apache的日志管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

部署AWStats基于Apache的日志管理

    • 日志分割
    • AWStats日志分析系统介绍
    • 部署AWStats
      • 安装Apache服务
      • 安装AWStats软件包
      • 为要统计的站点建立配置文件
      • 修改站点统计配置文件
      • 执行日志分析,并设置cron计划任务
      • 访问AWStats分析系统

日志分割

随着网站的访问量增加,默认情况下Apache的单个日志文件也会越来越大

  • 日志文件占用磁盘空间很大
  • 查看相关信息不方便

对日志文件进行分割

  • Apache自带rotatelogs分割工具实现
  • 第三方工具cronolog分割

AWStats日志分析系统介绍

  • Perl语言开发的一款开源日志分析系统
  • 可用来分析Apache、 Samba、Vsftpd、IIS等服务器的访问日志
  • 信息结合crond等计划任务服务,可对日志内容定期进行分析
    在这里插入图片描述

部署AWStats

安装Apache服务

#部署Apache
[root@pakho ~]# yum -y install httpd              #安装Apache服务
[root@pakho ~]# systemctl enable httpd --now      #立即启动并开机自启动

安装AWStats软件包

使用 awstats-7.6 版本

[root@pakho ~]# tar -xvzf awstats-7.6.tar.gz      #解压
[root@pakho ~]# mv awstats-7.6 /usr/local/awstats

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

  • AWStats系统支持统计多个网站的日志文件,通常以网站名称来区分不同的站点。
  • 因此,在执行日志文件分析之前,需要为每个Web站点建立站点统计配置文件,借助与AWStats系统提供的awstats_configure.pl脚本可以简化创建过程
#首先切换到awstats/tools目录下,执行脚本
[root@pakho ~]# cd /usr/local/awstats/tools/
[root@pakho tools]# chmod +x awstats_configure.pl
[root@pakho tools]# ./awstats_configure.pl
...
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf                                #指定Apache主配置文件路径
...
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y                  #为指定Web站点创建配置文件
...
Your web site, virtual server or profile name:
> www.pakho.com                                             #指定要统计的目标网站名称
...
Directory path to store config file(s) (Enter for default):
>                                                           #直接Enter接受默认配置
...
Press ENTER to finish...                                    #连续Enter两遍完成配置
#接下来后续配置工作会尝试重启httpd服务[root@pakho tools]# vim /etc/httpd/conf/httpd.conf
...
#最后一行
<Directory "/usr/local/awstats/wwwroot">Options NoneAllowOverride NoneOrder allow,denyAllow from all                                          #以上均为默认Require all granted                                     #添加要求所有授权
</Directory>

修改站点统计配置文件

[root@pakho tools]# vim /etc/awstats/awstats.www.pakho.com.conf
#为了模拟实验,我访问了无数次网站并copy了日志
...
LogFile="/var/log/httpd/2021.6.11_log"                      #设置对应的日志
DirData="/var/lib/awstats"                                  #默认存在的目录需要等下手动创建
[root@pakho tools]# mkdir /var/lib/awstats
  • LogFile用来指定日志路径,应设置Web日志文件的实际位置
  • DirData用来指定数据目录,可以采用默认值,但需要创建指定的目录(/var/lib/awstats

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

  • 使用AWStats提供的awstats_updateall.pl脚本,可以更新所有站点(根据站点配置文件)的日志统计数据
  • 执行该脚本时,系统将会自动分析新增的日志内容,并将分析结果更新到统计数据库中
[root@pakho tools]# chmod +x awstats_updateall.pl
[root@pakho tools]# ./awstats_updateall.pl
...
[root@pakho tools]# echo $?
0
  • 由于web日志文件的内容是在不断更新的,为了及时反馈网站访问情况,日志分析工作也需要定期、自动地执行。通过crond服务可设置计划任务,一般建议每五分钟执行一次日志分析任务
[root@pakho tools]# crontab -e
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@pakho tools]# systemctl start crond
[root@pakho tools]# systemctl enable crond
[root@pakho tools]# crontab -l
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
  • 在访问AWStats系统时,需要指定awstats目录、脚本位置等信息,不便于记忆也比较麻烦,为了简化操作,可以在web根目录下创建一个自动跳转的HTML网页,例如,执行以下操作后,用户只要访问http://www.pakho.com/awb.html,即可自动跳转到www.pakho.com站点的AWStats日志分析页面
[root@pakho tools]# vim /var/www/html/awb.html
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://www.pakho.com/awstats/awstats.pl?config=www.pakho.com">
</head>
<body></body>
</html>

访问AWStats分析系统

http://www.pakho.com/awb.html

在这里插入图片描述

Happy birthday to me Good night!

这篇关于Web服务器群集——部署AWStats基于Apache的日志管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564504

相关文章

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤