借其卓越的性能和靈活性,華為云 Flexus 云服務器 X 實例 成為了中小企業(yè)及開發(fā)者的理想云基礎設施選擇。為了進一步提升計算能力和滿足多樣化的應用需求,本指南將詳細介紹如何在搭載 openEuler 操作系統(tǒng)的 Flexus 云服務器 X 實例上部署 GoAccess 日志分析服務器。GoAccess 是一款開源的實時 Web 日志分析工具及交互式查看器,可在 Linux 系統(tǒng)的終端中或通過瀏覽器運行,專為需要動態(tài)展示服務器報告的系統(tǒng)管理員設計,提供了快速且有價值的 HTTP 統(tǒng)計信息,幫助用戶實時監(jiān)控網(wǎng)站活動。通過結(jié)合華為云的強大平臺與 GoAccess 的高效分析能力,用戶可以輕松獲得深入的洞察,優(yōu)化網(wǎng)站性能并提升用戶體驗。
一、Flexus 云服務器 X 實例介紹
1.1 Flexus 云服務器 X 實例簡介
·官網(wǎng)地址:華為云Flexus云服務器X實例
華為云 Flexus 云服務器 X 實例是新一代面向中小企業(yè)和開發(fā)者的柔性算力云服務器。它能夠智能感知業(yè)務負載的變化,自動調(diào)整資源配置。這款服務器特別適用于中低負載的應用場景,例如電商直播、企業(yè)網(wǎng)站建設、開發(fā)測試環(huán)境、游戲服務器以及音視頻服務等。X 實例的設計理念旨在為用戶提供更加靈活和高效的計算資源管理方式。通過智能調(diào)整,它可以更好地滿足不同業(yè)務的需求,提高資源利用率。
1.2 Flexus 云服務器 X 實例特點
·提供豐富的公共鏡像:Flexus 云服務器 X 實例提供多種公共鏡像供用戶選擇,方便快速部署各種應用和服務。
·可靈活自定義 vCPU 內(nèi)存配比:用戶可以根據(jù)自己的需要靈活調(diào)整虛擬 CPU 和內(nèi)存的配比,以滿足不同場景的需求。
·智能感知業(yè)務動態(tài)升降配:Flexus 云服務器 X 實例能夠智能感知業(yè)務的負載情況,并根據(jù)需要自動升降配,以滿足業(yè)務的需求,提高系統(tǒng)的穩(wěn)定性和性能。
·負載范圍更高:相對于 Flexus 應用服務器 L 實例,F(xiàn)lexus 云服務器 X 實例能夠處理更高的負載,適用于更復雜和繁忙的場景。
1.3 Flexus 云服務器 X 實例使用場景
Flexus 云服務器 X 實例針對不同的使用場景展現(xiàn)出其獨特的優(yōu)勢:
1.電商直播:利用 X 實例搭建電商交易平臺,可以有效應對電商市場的瞬息萬變,從容處理業(yè)務壓力波動,確保交易過程順暢無阻。
2.企業(yè)建站:面向博客、論壇和企業(yè)門戶等應用場景,X 實例幫助企業(yè)高效傳播價值信息,促進信息共享與交流,支持構(gòu)建多功能傳播和交互平臺。
3.個人開發(fā)測試:開發(fā)者在開發(fā)和測試過程中所需的環(huán)境資源可以通過 X 實例便捷獲取,不僅提高了搭建效率,而且降低了成本。
4.游戲服務器:適用于搭建游戲后臺服務器,強大的計算能力可以輕松應對大量玩家同時在線的情況,同時支持平滑擴容,快速應對玩家數(shù)量增長的需求,以及提供出色的網(wǎng)絡加速能力以提升用戶體驗。
二、GoAccess 介紹
2.1 GoAccess 簡介
GoAccess 是一款開源的實時 Web 日志分析工具及交互式查看器,可以在 Linux 系統(tǒng)的終端中或通過瀏覽器運行。這款工具專為需要動態(tài)展示服務器報告的系統(tǒng)管理員設計,提供了快速且有價值的 HTTP 統(tǒng)計信息,幫助用戶實時監(jiān)控網(wǎng)站活動。
2.2 GoAccess 功能特性
GoAccess 可以解析指定的 Web 服務器日志文件,并將結(jié)果實時輸出到終端或生成 HTML 報告。
其主要特性如下:
·實時更新:所有面板和指標均能在終端上每 200 毫秒更新一次,HTML 輸出則每秒更新一次。
·簡易配置:僅需指定訪問日志文件和日志格式,即可開始解析和顯示統(tǒng)計信息。
·請求響應時間追蹤:有助于識別影響網(wǎng)站性能的問題頁面。
·兼容多種日志格式:支持自定義日志格式字符串,預設選項包括 Apache、Nginx、Amazon S3 等。
·增量處理:支持數(shù)據(jù)持久化,可以增量方式處理日志文件。
·單一依賴:使用 C 語言編寫,運行時僅需 ncurses 庫。
·內(nèi)置 WebSocket 服務:http://gwsocket.io/提供了額外的功能。
·多維度統(tǒng)計:如按小時或日期統(tǒng)計點擊量、訪問者數(shù)量、帶寬使用情況等。
·虛擬主機分析:展示各虛擬主機的資源消耗情況。
·ASN 映射:幫助檢測并應對惡意流量。
·個性化定制:允許用戶自定義配色方案,適用于終端或 HTML 輸出。
·高效處理大數(shù)據(jù):優(yōu)化的內(nèi)存哈希表保證了良好的內(nèi)存使用效率和處理性能。
·Docker 集成:可以從上游構(gòu)建 Docker 鏡像,并進行自定義配置。
2.3 支持的日志格式
GoAccess 支持多種標準和自定義的日志格式,包括但不限于:
·Amazon CloudFront
·Amazon S3
·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.本次實踐為個人測試學習環(huán)境,旨在快速部署應用,生產(chǎn)環(huán)境請謹慎;2.本次實踐環(huán)境為云華為云 Flexus 云服務器 X 實例,使用的操作系統(tǒng)為 openEuler 22.03 LTS;3.本次實踐在 openEuler 系統(tǒng)環(huán)境下搭建 Goaccess 日志分析服務器。
3.2 本次環(huán)境規(guī)劃
四、遠程連接華為云 Flexus 云服務器 X 實例
4.1 購買 Flexus 云服務器 X 實例
進入華為云官網(wǎng):https://activity.huaweicloud.com/,登錄自己的華為云賬號,進入華為云首頁。
·鏡像選擇:本次實踐使用 openEuler 作為公共鏡像,請根據(jù)實際需求自定義選擇合適的操作系統(tǒng)鏡像。
·鏡像切換說明:參考的公共鏡像原為 Huawei Cloud EulerOS,但本次實踐中已切換至 openEuler。
·基礎配置參考:購買時可參考以下基礎配置進行選擇。
1.計費模式:包年/包月,這里選擇此模式;2.區(qū)域:華北—北京四,可用區(qū):隨機即可;3.實例規(guī)格:關(guān)閉性能模式,選擇自定義,4vCPUs | 12GiB;4.鏡像:公共鏡像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.應用加速:這里選擇不加速;6.存儲:系統(tǒng)盤,通用型 SSD100G;7.網(wǎng)絡:選擇默認即可;8.安全組:選擇默認即可;9.彈性公網(wǎng) IP:選擇“現(xiàn)在購買”,全動態(tài) BGP,帶寬 3Mbit/s;10.云服務器名稱:可自定義設置,這里選擇默認的名稱;11.登錄憑證:自定義設置密碼;12.云備份:暫不購買;其余配置默認即可。
·確認配置及購買:在確認配置頁面仔細檢查 Flexus 云服務器 X 實例的各項設置,確保無誤后點擊“立即購買”,完成付款流程即可成功購買。
4.2 查看 Flexus 云服務器 X 實例狀態(tài)
進入華為云 Flexus 云服務的控制臺,選擇 Flexus 云服務器 X 實例,可以看到已經(jīng)正在運行的 Flexus 云服務器 X 實例。
4.3 使用 Xshell 遠程連接
·復制 Flexus 云服務器 X 實例的彈性公網(wǎng) IP 地址
·主要填寫 Flexus 云服務器 X 實例的彈性公網(wǎng) IP 地址,輸入其登錄用戶和密碼,連接即可。
五、檢查安裝環(huán)境
5.1 檢查操作系統(tǒng)版本
檢查 Flexus 云服務器 X 實例的操作系統(tǒng)版本,本次實踐選擇的版本為 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 檢查內(nèi)核版本
檢查當前操作系統(tǒng)的內(nèi)核版本,當前內(nèi)核版本為 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 倉庫狀態(tài)
執(zhí)行以下命令,檢查 yum 倉庫狀態(tài)。
yum repolist all
5.4 搜索 GoAccess 軟件包
通過 yum 搜索 GoAccess 軟件包,可以發(fā)現(xiàn)軟件源中已包含 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 編譯安裝(可選)
執(zhí)行以下命令,可以在 Linux 系統(tǒng)上進行編譯安裝。
$ 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 安裝方式
本次實踐的操作系統(tǒng)為 opemEuler 系統(tǒng),可以直接使用 yum 安裝。
yum install goaccess -y
其他發(fā)行版上安裝,可以參考以下安裝命令,更多的系統(tǒng)安裝方式,可以參考官網(wǎng)教程。
·在 RHEL / CentOS 上安裝
sudo yum install -y goaccess
·在 Fedora 上安裝
sudo dnf install goaccess -y
·在 Arch Linux 上安裝
sudo pacman -S goaccess
6.3 查看 GoAccess 安裝版本
執(zhí)行以下名,查詢 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 服務
·執(zhí)行以下命令,安裝 httpd 服務。
yum -y install httpd
·啟動 httpd 服務
systemctl enable --now httpd
·查看 httpd 服務狀態(tài)
systemctl status httpd
6.2 監(jiān)控日志信息
執(zhí)行以下命令,監(jiān)控 httpd 服務日志信息,其中-f 選項允許在命令行上實時查看日志。GoAccess 將在終端中輸出 Web 服務器的日志統(tǒng)計信息,包括總請求數(shù)、有效請求數(shù)、獨立訪客數(shù)、唯一文件訪問量等。通過向下滾動,您可以查看更多的 Web 服務器統(tǒng)計數(shù)據(jù),例如 404 錯誤請求、訪客的主機名及其 IP 地址等詳情。
goaccess -f /var/log/httpd/access_log --log-format=COMBINED
6.3 生成 HTML 報告
執(zhí)行以下命令,從指定的 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 報告
執(zhí)行以下命令,從指定的 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 文件
執(zhí)行以下命令,從指定的 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 監(jiān)聽端口
我們通過修改/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
執(zhí)行以下命令,重啟 httpd 服務。
systemctl restart httpd
查看 httpd 監(jiān)聽端口,可以看到已經(jīng)正常監(jiān)聽 7566 端口。
[root@flexusx-51a1 ~]# netstat -tunlp |grep 7566tcp6 0 0 :::7566 :::* LISTEN 624389/httpd
7.2 生成 HTML 靜態(tài)文件
我們還可以通過重定向來將 web 服務器日志以優(yōu)雅而直觀的方式呈現(xiàn)在一個儀表板上。我們可以將輸出文件指定為 linux_web.html。
·進入 httpd 服務的網(wǎng)站根目錄/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
·執(zhí)行以下命令,關(guān)閉防火墻。
systemctl stop firewalld && systemctl disable firewalld
·關(guān)閉 selinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7.4 Flexus 云服務器 X 實例安全組配置
進入 Flexus 云服務器 X 實例控制臺,進行安全組規(guī)則配置。在安全組入方向規(guī)則上,放行 80 端口。
7.5 瀏覽器打開報告文件
本地瀏覽器:http://彈性公網(wǎng) IP 地址:7566/linux_web.html,將 IP 替換為自己華為云 Flexus 云服務器 X 實例的 IP 地址??梢钥吹椒掌?httpd 服務的日志信息,美觀的呈現(xiàn)在網(wǎng)頁上。
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://彈性公網(wǎng) IP 地址:7566/report.html,就可以看到實時的日志信息。
八、設置中文顯示
8.1 設置環(huán)境變量
·查詢當前的系統(tǒng)語言環(huán)境是否有中文語言包
[root@flexusx-51a1 html]# locale -a | grep zh_CNzh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8
·設置環(huán)境變量
export LC_ALL=zh_CN.UTF-8export LANG=zh_CN.UTF-8
8.2 重新輸出日志報告文件
執(zhí)行以下命令,重新重新輸出日志報告文件。
goaccess --log-format=COMBINED /var/log/httpd/access_log -o /var/www/html/report.html --real-time-html
重新刷新頁面,可以看到 web 頁面已經(jīng)顯示為中文了。
九、使用體驗與總結(jié)
在本次實踐中,我們成功地在華為云 Flexus 云服務器 X 實例 上部署了 GoAccess 日志分析服務器,整個部署過程流暢無阻,使用體驗令人印象深刻。華為云 Flexus X 實例憑借其卓越的性價比、強大的計算性能、可靠的穩(wěn)定性和高標準的安全保障,在眾多云服務中脫穎而出。其穩(wěn)定的網(wǎng)絡連接和無延遲的操作,確保了高效的工作流程。GoAccess 是一款開源的實時 Web 日志分析工具及交互式查看器,可在 Linux 系統(tǒng)的終端中或通過瀏覽器運行,專為需要動態(tài)展示服務器報告的系統(tǒng)管理員設計,提供了快速且有價值的 HTTP 統(tǒng)計信息,幫助用戶實時監(jiān)控網(wǎng)站活動。通過結(jié)合華為云的強大平臺與 GoAccess 的高效分析能力,我們不僅實現(xiàn)了對網(wǎng)站活動的實時監(jiān)控,還顯著提升了運維效率和安全性。
華為云 828 B2B 企業(yè)節(jié),F(xiàn)lexus X 實例超值優(yōu)惠不容錯過!在這里,你能親身體驗前沿技術(shù)與創(chuàng)新理念的精彩融合。無論是高性能計算,亦或是智能化監(jiān)控,華為云在每一個細節(jié)之處都彰顯著對高品質(zhì)服務的不懈追求。選擇華為云,不只是技術(shù)上的飛躍,更是踏上數(shù)字化轉(zhuǎn)型征程的關(guān)鍵抉擇。讓我們并肩攜手,共同開創(chuàng)云端新時代!
審核編輯 黃宇
-
云服務器
+關(guān)注
關(guān)注
0文章
723瀏覽量
13399 -
華為云
+關(guān)注
關(guān)注
3文章
2682瀏覽量
17544
發(fā)布評論請先 登錄
相關(guān)推薦
評論