? ? ? ? 對(duì)于一個(gè)有潔癖的運(yùn)維人員來(lái)說(shuō),一機(jī)多應(yīng)用是難以接受的事情。因此在部署goaccess的時(shí)候,必然會(huì)獨(dú)立于需要被分析日志的應(yīng)用服務(wù)器。而goaccess的websocket配置最容易令剛接觸goaccess的同學(xué)摸不著頭腦。
我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、公安ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的公安網(wǎng)站制作公司
一、理解goaccess的websocket
? ? ? ? goaccess的websocket需要在配置文件或者命令行中增加real-time-html屬性才會(huì)在生成報(bào)告的時(shí)候同時(shí)創(chuàng)建websocket。
配置文件節(jié)選:
#goaccess.conf log-file?/goaccess/logs/access.log output?/goaccess/index.html real-time-html?true ws-url?wss://www.mynginxsrv.com/wss/
終端執(zhí)行命令:
#?goaccess?-p?goaccess.conf? #?WebSocket服務(wù)器已準(zhǔn)備接收來(lái)自客戶的連接
? ? ? ? 好了,如果這個(gè)時(shí)候你興沖沖的訪問(wèn)你的ws-url,你會(huì)訪問(wèn)無(wú)法訪問(wèn)。這是因?yàn)閣s或者wss是**嵌入在html文件**內(nèi)的,當(dāng)服務(wù)端數(shù)據(jù)發(fā)生變化時(shí),**會(huì)主動(dòng)推送到瀏覽器**。也就是,我們實(shí)際上需要先訪問(wèn)html文件(即報(bào)告文件),與websocket建立連接后goaccess服務(wù)器會(huì)主動(dòng)推送實(shí)時(shí)分析內(nèi)容到瀏覽器。
? ? ? ? 一般情況下,為了節(jié)省IP資源,都是LVS→Nginx→Backend。那么對(duì)于goaccess來(lái)說(shuō)就是Backend的應(yīng)用服務(wù)器,https連接也是交由Nginx處理。因此在配置ws-url的時(shí)候,需要指定的就是Nginx的監(jiān)聽(tīng)主機(jī)名。而goaccess默認(rèn)的ws-url對(duì)應(yīng)的端口是7890,這個(gè)屬性也是寫(xiě)在了報(bào)告當(dāng)中的。因此我們就只有兩個(gè)選擇,一個(gè)是暴露LVS或者Nginx的7890端口,一個(gè)是修改goaccess端口。而修改goaccess的port之后,goaccess服務(wù)器本地的websocket的端口也會(huì)隨之改變,這里是一個(gè)容易踩坑的地方。
二、nginx配置與goaccess配置
? ? ? ? OK,大概了解了goaccess的機(jī)制后,我們來(lái)說(shuō)一下具體怎么操作配置。
1、nginx服務(wù)器的配置
nginx配置文件節(jié)選:
http?{ ????server?{ ????????#charset?utf-8; ????????listen?443?http2?ssl; ????????server_name?www.mynginxsrv.com; #以下配置為報(bào)告文件的存放位置,您也可以通過(guò)nfs共享方式處理,這里不做展開(kāi) ????????location?/nginx/nginx_status.html?{ ????????????alias?/opt/nginx/www/index_template.html; ????????} ????????#以下為websocket配置信息,只需將proxy_pass對(duì)應(yīng)信息修改為自己的goaccess服務(wù)器信息即可 ????????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"; ????????} }
擴(kuò)展:
考慮到goaccess的websocket的特性,我們完全可以構(gòu)建一條虛假的日志內(nèi)容,然后利用goaccess生成html文件,直接存放nginx服務(wù)器,方便管理。
#這個(gè)是我自行構(gòu)建的虛假nginx日志信息,可以用于構(gòu)建生成模板 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" #對(duì)應(yīng)的log_format: log_format?%h?-?%^?[%d:%t?%^]?"%r"?%^?%s?%b?"%R"?"%u"?"%^"?"%T"
2、完整的goaccess配置文件
? ? ? ? 需要注意打開(kāi)配置文件中的端口或者關(guān)閉防火墻,不然你在瀏覽的時(shí)候會(huì)發(fā)現(xiàn)502錯(cuò)誤
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
最后展示一下效果圖:
新聞名稱:獨(dú)立部署Goaccess服務(wù)器實(shí)時(shí)分析日志
本文地址:http://m.2m8n56k.cn/article36/pdiesg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、電子商務(wù)、ChatGPT、網(wǎng)站設(shè)計(jì)、云服務(wù)器、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)