借其卓越的性能和灵活性,华为云 Flexus 云服务器 X 实例 成为了中小企业及开发者的理想云基础设施选择。为了进一步提升计算能力和满足多样化的应用需求,本指南将详细介绍如何在搭载 openEuler 操作系统的 Flexus 云服务器 X 实例上部署 GoAccess 日志分析服务器。GoAccess 是一款开源的实时 Web 日志分析工具及交互式查看器,可在 Linux 系统的终端中或通过浏览器运行,专为需要动态展示服务器报告的系统管理员设计,提供了快速且有价值的 HTTP 统计信息,帮助用户实时监控网站活动。通过结合华为云的强大平台与 GoAccess 的高效分析能力,用户可以轻松获得深入的洞察,优化网站性能并提升用户体验。
一、Flexus 云服务器 X 实例介绍
1.1 Flexus 云服务器 X 实例简介
· 官网地址:华为云Flexus云服务器X实例华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。
1.2 Flexus 云服务器 X 实例特点
· 提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。· 可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。
· 智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。
· 负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。
1.3 Flexus 云服务器 X 实例使用场景
Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。
2. 企业建站:面向博客、论坛和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。
3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。
4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。
二、GoAccess 介绍
2.1 GoAccess 简介
GoAccess 是一款开源的实时 Web 日志分析工具及交互式查看器,可以在 Linux 系统的终端中或通过浏览器运行。这款工具专为需要动态展示服务器报告的系统管理员设计,提供了快速且有价值的 HTTP 统计信息,帮助用户实时监控网站活动。2.2 GoAccess 功能特性
GoAccess 可以解析指定的 Web 服务器日志文件,并将结果实时输出到终端或生成 HTML 报告。其主要特性如下:
· 实时更新:所有面板和指标均能在终端上每 200 毫秒更新一次,HTML 输出则每秒更新一次。
· 简易配置:仅需指定访问日志文件和日志格式,即可开始解析和显示统计信息。
· 请求响应时间追踪:有助于识别影响网站性能的问题页面。
· 兼容多种日志格式:支持自定义日志格式字符串,预设选项包括 Apache、Nginx、Amazon S3 等。
· 增量处理:支持数据持久化,可以增量方式处理日志文件。
· 单一依赖:使用 C 语言编写,运行时仅需 ncurses 库。
· 内置 WebSocket 服务:http://gwsocket.io/ 提供了额外的功能。
· 多维度统计:如按小时或日期统计点击量、访问者数量、带宽使用情况等。
· 虚拟主机分析:展示各虚拟主机的资源消耗情况。
· ASN 映射:帮助检测并应对恶意流量。
· 个性化定制:允许用户自定义配色方案,适用于终端或 HTML 输出。
· 高效处理大数据:优化的内存哈希表保证了良好的内存使用效率和处理性能。
· Docker 集成:可以从上游构建 Docker 镜像,并进行自定义配置。
2.3 支持的日志格式
GoAccess 支持多种标准和自定义的日志格式,包括但不限于:· Amazon CloudFront
· Amazon S3
· AWS Elastic Load Balancing
· Combined Log Format (XLF/ELF) - Apache 和 Nginx
· Common Log Format (CLF) - Apache
· Google Cloud Storage
· Apache Virtual Hosts
· Squid Native Format
· W3C Extended Log File Format (IIS)
· Caddy 的 JSON 格式
· Traefik 的 CLF 样式
三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为云华为云 Flexus 云服务器 X 实例,使用的操作系统为 openEuler 22.03 LTS;3.本次实践在 openEuler 系统环境下搭建 Goaccess 日志分析服务器。3.2 本次环境规划
四、远程连接华为云 Flexus 云服务器 X 实例
4.1 购买 Flexus 云服务器 X 实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。
· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。
· 基础配置参考:购买时可参考以下基础配置进行选择。
1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速;6.存储:系统盘,通用型 SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网 IP:选择“现在购买”,全动态 BGP,带宽 3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。
· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。
4.2 查看 Flexus 云服务器 X 实例状态
进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。
4.3 使用 Xshell 远程连接
· 复制 Flexus 云服务器 X 实例的弹性公网 IP 地址
· 主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。
五、检查安装环境
5.1 检查操作系统版本
检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"
5.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.109.0.136.oe2203.x86_64。[root@flexusx-51a1 ~]# uname -r5.10.0-60.109.0.136.oe2203.x86_64
5.3 检查 yum 仓库状态
执行以下命令,检查 yum 仓库状态。yum repolist all
5.4 搜索 GoAccess 软件包
通过 yum 搜索 GoAccess 软件包,可以发现软件源中已包含 GoAccess 软件包。[root@flexusx-51a1 ~]# yum search goaccessLast metadata expiration check: 4:01:39 ago on Wed 11 Sep 2024 09:29:29 AM CST.================================================================= Name Exactly Matched: goaccess ==================================================================goaccess.x86_64 : Real-time web log analyzer and interactive viewer================================================================ Name & Summary Matched: goaccess =================================================================goaccess-debuginfo.x86_64 : Debug information for package goaccessgoaccess-debugsource.x86_64 : Debug sources for package goaccess
六、安装 GoAccess
6.1 编译安装(可选)
执行以下命令,可以在 Linux 系统上进行编译安装。$ wget https://tar.goaccess.io/goaccess-1.9.2.tar.gz$ tar -xzvf goaccess-1.9.2.tar.gz$ cd goaccess-1.9.2/$ ./configure --enable-utf8 --enable-geoip=mmdb$ make# make install
6.2 yum 安装方式
本次实践的操作系统为 opemEuler 系统,可以直接使用 yum 安装。yum install goaccess -y
其他发行版上安装,可以参考以下安装命令,更多的系统安装方式,可以参考官网教程。
· 在 RHEL / CentOS 上安装
sudo yum install -y goaccess
· 在 Fedora 上安装
sudo dnf install goaccess -y
· 在 Arch Linux 上安装
sudo pacman -S goaccess
6.3 查看 GoAccess 安装版本
执行以下名,查询 GoAccess 安装版本,当前安装版本为 1.4.6。[root@flexusx-51a1 ~]# goaccess --versionGoAccess - 1.4.6.For more details visit: https://goaccess.io/Copyright (C) 2009-2020 by Gerardo OrellanaBuild configure arguments: --enable-debug --enable-utf8 --enable-geoip=legacy --with-getline --with-openssl
七、命令行中使用 GoAcces
7.1 安装 httpd 服务
· 执行以下命令,安装 httpd 服务。yum -y install httpd
· 启动 httpd 服务
systemctl enable --now httpd
· 查看 httpd 服务状态
systemctl status httpd
6.2 监控日志信息
执行以下命令,监控 httpd 服务日志信息,其中-f 选项允许在命令行上实时查看日志。GoAccess 将在终端中输出 Web 服务器的日志统计信息,包括总请求数、有效请求数、独立访客数、唯一文件访问量等。通过向下滚动,您可以查看更多的 Web 服务器统计数据,例如 404 错误请求、访客的主机名及其 IP 地址等详情。goaccess -f /var/log/httpd/access_log --log-format=COMBINED
6.3 生成 HTML 报告
执行以下命令,从指定的 Apache 访问日志文件(/var/log/httpd/access_log)生成一个 HTML 格式的报告文件。html 文件名称可自定义设置,这里命名为 linux_web.html。[root@flexusx-51a1 test]# goaccess -f /var/log/httpd/access_log --log-format=COMBINED > linux_web.html [PARSING /var/log/httpd/access_log] {7,289} @ {0/s}[root@flexusx-51a1 test]# lslinux_web.html
6.4 生成 JSON 报告
执行以下命令,从指定的 Apache 访问日志文件(/var/log/httpd/access_log)生成一个 JSON 格式的报告文件。josn 文件名称可自定义设置,这里命名为 linux.json。[root@flexusx-51a1 test]# goaccess -f /var/log/httpd/access_log --log-format=COMBINED -a -d -o json > linux.json [PARSING /var/log/httpd/access_log] {7,880} @ {492/s}s}[root@flexusx-51a1 test]# lslinux.json linux_web.html
6.5 生成 CSV 文件
执行以下命令,从指定的 Apache 访问日志文件(/var/log/httpd/access_log)生成一个 CSV 格式的报告文件。CSV 文件名称可自定义设置,这里命名为 linux.csv。[root@flexusx-51a1 test]# goaccess -f /var/log/httpd/access_log --log-format=COMBINED --no-csv-summary -o csv > linux.csv [PARSING /var/log/httpd/access_log] {7,197} @ {0/s}[root@flexusx-51a1 test]# lltotal 872-rw-r--r-- 1 root root 111352 Sep 11 14:54 linux.csv-rw-r--r-- 1 root root 219303 Sep 11 14:50 linux.json-rw-r--r-- 1 root root 555427 Sep 11 14:46 linux_web.html
七、通过 web 仪表板查看日志
7.1 修改 httpd 监听端口
我们通过修改/etc/httpd/conf/httpd.conf 配置文件,将默认的 80 端口修改为 7566 端口。cp -a /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
vim /etc/httpd/conf/httpd.conf
Listen 7566
执行以下命令,重启 httpd 服务。
systemctl restart httpd
查看 httpd 监听端口,可以看到已经正常监听 7566 端口。
[root@flexusx-51a1 ~]# netstat -tunlp |grep 7566tcp6 0 0 :::7566 :::* LISTEN 624389/httpd
7.2 生成 HTML 静态文件
我们还可以通过重定向来将 web 服务器日志以优雅而直观的方式呈现在一个仪表板上。我们可以将输出文件指定为 linux_web.html。· 进入 httpd 服务的网站根目录/var/www/html
[root@flexusx-51a1 ~]# cd /var/www/html/[root@flexusx-51a1 html]# lslatest-zh_CN.tar.gz wordpress
· 生成 linux_web.html 文件
goaccess -f /var/log/httpd/access_log --log-format=COMBINED > linux_web.html
· 查看当前目录文件
[root@flexusx-51a1 html]# lltotal 25692-rw-r--r-- 1 apache apache 25745183 Aug 21 19:00 latest-zh_CN.tar.gz-rw-r--r-- 1 root root 555427 Sep 11 15:08 linux_web.htmldrwxr-xr-x 5 apache apache 4096 Sep 7 15:20 wordpress
7.3 设置防火墙与 selinux
· 执行以下命令,关闭防火墙。systemctl stop firewalld && systemctl disable firewalld
· 关闭 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7.4 Flexus 云服务器 X 实例安全组配置
进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。在安全组入方向规则上,放行 80 端口。
7.5 浏览器打开报告文件
本地浏览器:http://弹性公网 IP 地址:7566/linux_web.html,将 IP 替换为自己华为云 Flexus 云服务器 X 实例的 IP 地址。可以看到服务器 httpd 服务的日志信息,美观的呈现在网页上。
7.6 实时 HTML 输出日志信息
该命令使用 GoAccess 工具以 COMBINED 日志格式分析 /var/log/httpd/access_log 文件,并生成一个实时 HTML 报告输出到 /var/www/html/report.html 文件中。goaccess --log-format=COMBINED /var/log/httpd/access_log -o /var/www/html/report.html --real-time-html
重新本地浏览器访问:http://弹性公网 IP 地址:7566/report.html,就可以看到实时的日志信息。
八、设置中文显示
8.1 设置环境变量
· 查询当前的系统语言环境是否有中文语言包[root@flexusx-51a1 html]# locale -a | grep zh_CNzh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8
· 设置环境变量
export LC_ALL=zh_CN.UTF-8export LANG=zh_CN.UTF-8
8.2 重新输出日志报告文件
执行以下命令,重新重新输出日志报告文件。goaccess --log-format=COMBINED /var/log/httpd/access_log -o /var/www/html/report.html --real-time-html
重新刷新页面,可以看到 web 页面已经显示为中文了。
九、使用体验与总结
在本次实践中,我们成功地在华为云 Flexus 云服务器 X 实例 上部署了 GoAccess 日志分析服务器,整个部署过程流畅无阻,使用体验令人印象深刻。华为云 Flexus X 实例凭借其卓越的性价比、强大的计算性能、可靠的稳定性和高标准的安全保障,在众多云服务中脱颖而出。其稳定的网络连接和无延迟的操作,确保了高效的工作流程。GoAccess 是一款开源的实时 Web 日志分析工具及交互式查看器,可在 Linux 系统的终端中或通过浏览器运行,专为需要动态展示服务器报告的系统管理员设计,提供了快速且有价值的 HTTP 统计信息,帮助用户实时监控网站活动。通过结合华为云的强大平台与 GoAccess 的高效分析能力,我们不仅实现了对网站活动的实时监控,还显著提升了运维效率和安全性。华为云 828 B2B 企业节,Flexus X 实例超值优惠不容错过!在这里,你能亲身体验前沿技术与创新理念的精彩融合。无论是高性能计算,亦或是智能化监控,华为云在每一个细节之处都彰显着对高品质服务的不懈追求。选择华为云,不只是技术上的飞跃,更是踏上数字化转型征程的关键抉择。让我们并肩携手,共同开创云端新时代!
网友评论