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

相关文章

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1