日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

GoAccess安装及分析nginx实时日志

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GoAccess安装及分析nginx实时日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

GoAccess是一個基于終端的快速日志分析器。其核心思想是實時快速分析和查看Web服務器統計信息,而無需使用您的瀏覽器(如果您希望通過SSH快速分析訪問日志,或者只是喜歡在終端中工作),終端輸出是默認輸出,但它能夠生成完整的,獨立的實時?HTML報告(非常適合分析,監控和數據可視化),以及a?JSON和CSV報告。

  • 所有面板和指標都定時在終端輸出上每200毫秒更新一次,在HTML輸出上每秒更新一次。

  • GoAccess允許任何自定義日志格式字符串。預定義選項包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等

  • 跟蹤提供請求所需的時間。如果您想跟蹤減慢網站速度的網頁,則非常有用。

  • 數據持久性強,GoAccess能夠通過磁盤上的B + Tree數據庫逐步處理日志。

  • GoAccess是用C語言編寫的,要運行它,你只需要將ncurses作為依賴項,它甚至還具有自己的RFC6455兼容Web Socket服務器。

  • 您可以針對訪問日志文件運行它,選擇日志格式并讓GoAccess解析訪問日志并顯示統計信息。

  • 按小時或日期確定最慢運行請求的匹配數,訪問者數,帶寬數和指標數。

  • 多個虛擬主機,一個面板,顯示哪個虛擬主機正在消耗大部分Web服務器資源。

  • 定制GoAccess以適合您自己的色彩品味。通過終端,或者只是更新HTML輸出上的樣式表。

?

GoAccess安裝部署:

方案一:Yum安裝部署
yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-develyum install gcc -y
yum -y install GeoIP-update
yum install goaccess

#修改/etc/nginx/nginx.conf文件的日志存儲格式
log_format main '$remote_addr - $remote_user [$time_local] requesthost:"$http_host"; "$request" requesttime:"$request_time"; '
'$status $body_bytes_sent "$http_referer" - $request_body'
'"$http_user_agent" "$http_x_forwarded_for"';

#修改文件/etc/goaccess.conf改成goaccess格式標準對應為
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"

#測試生成頁面
goaccess -f /var/log/nginx/access.log -c -a>/usr/share/nginx/html/go.html
方案二:源碼安裝部署

#yum安裝依賴包
yum install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel
yum install gcc -y
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y install GeoIP-update


#下載goaccess源碼包,并解壓編譯安裝
wget https://tar.goaccess.io/goaccess-1.2.tar.gz
tar xzvf goaccess-1.2.tar.gz
cd goaccess-1.2/./configure --enable-geoip --enable-utf8make && make install


#修改/etc/nginx/nginx.conf文件的日志存儲格式
log_format main '$remote_addr - $remote_user [$time_local] requesthost:"$http_host"; "$request" requesttime:"$request_time"; '
'$status $body_bytes_sent "$http_referer" - $request_body'
'"$http_user_agent" "$http_x_forwarded_for"';

#修改文件/usr/local/etc/goaccess.conf改成goaccess格式標準對應為
time-format %T
date-format %d/%b/%Y
log-format %h - %^ [%d:%t %^] requesthost:"%v"; "%r" requesttime:"%T"; %s %b "%R" - %^"%u"


#測試生成頁面
goaccess -f /var/log/nginx/access.log -c -a>/usr/share/nginx/html/go.html


#后臺實時生成數據到goaccess頁面
/usr/local/bin/goaccess /var/log/nginx/access.log -o /usr/share/nginx/html/go.html --real-time-html &

?

安裝常見問題:

問題1:安裝時提示:Missing development files for the GeoIP library

解決方法: 下載GeoIP library包,執行 yum -y install GeoIP-update

問題2:

Fatal error has occurred
Error occurred at: src/parser.c - parse_log - 2764
No time format was found on your conf file.

問題解析: 配置文件goaccess.conf中time format格式不正確,只需把所需要對應日志格式前的#去掉即可,最后格式如下:

time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b

?

Goaccess支持實時查看access日志,Linux執行:goaccess -f access.log -o go.html --real-time-html -p goaccess.conf,按enter執行
解釋如下:access.log處要改成access.log的絕對路徑 go.html表示生成的Html文件,這里也要用絕對路徑代替,goaccess.conf表示配置文件,也要寫絕對路徑,否則會提示找不到這個文件

實時日志命令執行后提示如下:

這樣就可以查看go.html文件了。

可以在windows本地打開瀏覽器訪問實時的go.html文件,如果你的服務器訪問地址是www.xxx.com,則只需訪問www.xx.com/go.html即可

?

如想查看goaccess訪問對應的端口,執行netstat -antp | grep goaccess,結果如下:

?

?

?如果端口被占用,無法啟動,可以執行如下命令關閉端口:

su - root? ? ?#切換到root用戶

lsof -i :端口號? ? ?#得到PID號

kill -9 PID



轉載于:https://www.cnblogs.com/wx170119/p/11226268.html

總結

以上是生活随笔為你收集整理的GoAccess安装及分析nginx实时日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。