? ? ? ? 對于一個有潔癖的運維人員來說,一機多應用是難以接受的事情。因此在部署goaccess的時候,必然會獨立于需要被分析日志的應用服務器。而goaccess的websocket配置最容易令剛接觸goaccess的同學摸不著頭腦。
我們提供的服務有:成都網站制作、成都網站設計、微信公眾號開發、網站優化、網站認證、公安ssl等。為1000+企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的公安網站制作公司
一、理解goaccess的websocket
? ? ? ? goaccess的websocket需要在配置文件或者命令行中增加real-time-html屬性才會在生成報告的時候同時創建websocket。
配置文件節選:
#goaccess.conf log-file?/goaccess/logs/access.log output?/goaccess/index.html real-time-html?true ws-url?wss://www.mynginxsrv.com/wss/
終端執行命令:
#?goaccess?-p?goaccess.conf? #?WebSocket服務器已準備接收來自客戶的連接
? ? ? ? 好了,如果這個時候你興沖沖的訪問你的ws-url,你會訪問無法訪問。這是因為ws或者wss是**嵌入在html文件**內的,當服務端數據發生變化時,**會主動推送到瀏覽器**。也就是,我們實際上需要先訪問html文件(即報告文件),與websocket建立連接后goaccess服務器會主動推送實時分析內容到瀏覽器。
? ? ? ? 一般情況下,為了節省IP資源,都是LVS→Nginx→Backend。那么對于goaccess來說就是Backend的應用服務器,https連接也是交由Nginx處理。因此在配置ws-url的時候,需要指定的就是Nginx的監聽主機名。而goaccess默認的ws-url對應的端口是7890,這個屬性也是寫在了報告當中的。因此我們就只有兩個選擇,一個是暴露LVS或者Nginx的7890端口,一個是修改goaccess端口。而修改goaccess的port之后,goaccess服務器本地的websocket的端口也會隨之改變,這里是一個容易踩坑的地方。
二、nginx配置與goaccess配置
? ? ? ? OK,大概了解了goaccess的機制后,我們來說一下具體怎么操作配置。
1、nginx服務器的配置
nginx配置文件節選:
http?{ ????server?{ ????????#charset?utf-8; ????????listen?443?http2?ssl; ????????server_name?www.mynginxsrv.com; #以下配置為報告文件的存放位置,您也可以通過nfs共享方式處理,這里不做展開 ????????location?/nginx/nginx_status.html?{ ????????????alias?/opt/nginx/www/index_template.html; ????????} ????????#以下為websocket配置信息,只需將proxy_pass對應信息修改為自己的goaccess服務器信息即可 ????????location?/wss/??{ ????????????proxy_pass?http://192.168.1.2:443; ????????????proxy_set_header?Host?$http_host; ????????????proxy_set_header?X-Forwarded-Proto?$scheme; ????????????proxy_set_header?X-Real-IP?$remote_addr; ????????????proxy_http_version?1.1; ????????????proxy_set_header?Upgrade?$http_upgrade; ????????????proxy_set_header?Connection?"upgrade"; ????????} }
擴展:
考慮到goaccess的websocket的特性,我們完全可以構建一條虛假的日志內容,然后利用goaccess生成html文件,直接存放nginx服務器,方便管理。
#這個是我自行構建的虛假nginx日志信息,可以用于構建生成模板 222.222.222.222?-?-?[01/Dec/2010:00:00:34?+0800]?"GET?/?HTTP/2.0"?10.0.0.1:80?200?7164?"https://www.baidu.com/"?"chrome"?"-"?"0.338" #對應的log_format: log_format?%h?-?%^?[%d:%t?%^]?"%r"?%^?%s?%b?"%R"?"%u"?"%^"?"%T"
2、完整的goaccess配置文件
? ? ? ? 需要注意打開配置文件中的端口或者關閉防火墻,不然你在瀏覽的時候會發現502錯誤
time-format?%T date-format?%d/%b/%Y log_format?%h?-?%^?[%d:%t?%^]?"%r"?%^?%s?%b?"%R"?"%u"?"%^"?"%T" log-file?/goaccess/logs/access.log output?/goaccess/report/index_nginx.html real-time-html?true ws-url?wss://www.mynginxsrv.com/wss/ daemonize?true port?443
最后展示一下效果圖:
新聞名稱:獨立部署Goaccess服務器實時分析日志
本文地址:http://vcdvsql.cn/article36/pdiesg.html
成都網站建設公司_創新互聯,為您提供響應式網站、電子商務、ChatGPT、網站設計、云服務器、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯