亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用goaccess分析nginx日志

發布時間:2021-07-09 11:14:51 來源:億速云 閱讀:172 作者:小新 欄目:開發技術

這篇文章主要介紹了如何使用goaccess分析nginx日志,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

最近想用goaccess來分析下nginx日志,但是苦于nginx日志配置格式不是按照正常格式來的,完全是我們按照自己的需求來寫的,所以導致goaccess分析不了,需要自己重新定義下格式;但是網上雖然介紹goaccess的很多,但是大多都是就重避輕,將格式的自定義忽略掉,因此我就來把自定義這塊說下。

GoAccess是一款開源、實時,運行在命令行終端下的web日志分析工具。該工具提供快速、多樣的HTTP狀態統計,可以令管理員不再糾結于統計各類數據,和繁雜的指令以及一大堆管道/正則表達式說byebye。

分析nginx日志

GoAccess的多種展示方式
goaccess有多種數據可視化的方式,分別為:

命令行輸出格式化數據
利用access.log生成靜態的可視化數據
生成實時可視化數據
注意,如果是編譯安裝且選擇了 –enable-geoip=mmdb的話需要編輯配置文件,并在使用命令的時候帶上參數 –config-file=/usr/local/etc/goaccess/goaccess.conf,如果是用包管理器安裝的話則不需要

命令行輸出GoAccess
goaccess /var/log/nginx/access.log -c,會先詢問你數據的格式,我這里的日志使用的是第一種。

解析accesslog生成靜態html
GoAccess還可以解析access.log生成靜態html,以更加直觀的方式來展示數據。

goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED,之后再使用瀏覽器訪問report.html即可查看報告,各種數據一應俱全。

實時解析訪問日志
GoAccess除了可以生成靜態的html文件,還可以生成實時網站訪問數據!

goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html --config-file=/usr/local/etc/goaccess/goaccess.conf

添加中文支持
Goaccess 1.3之后的版本提供了多語言支持,先在命令行中執行 apt install language-pack-zh-hans 安裝中文包,再使用export LANG=zh_CN.UTF-8修改環境變量,再次使用 goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html --config-file=/usr/local/etc/goaccess/goaccess.conf啟動GoAccess可以發現已經是中文界面了。

關于實時模式,可以查看官網的demo https://rt.goaccess.io/?20200209201008

異常退出
如果實時模式沒有正常退出,可能無法再次正常啟動,GoAccess默認使用7890 websocket端口,所以使用lsof -i:7890查看占用該端口的進程號并kill即可。

ssl支持
如果需要在加密連接上輸出實時數據,則需要使用 --ssl-cert= 和 --ssl-key=,我在設置之后訪問report.html發現數據依舊是靜態的,突然想起我用了cloudflare cdn,而7890端口并不在cloudflare的支持端口列表里面,所以我使用參數 --ws-url=wss://服務器域名(我們的瀏覽器會嘗試與該域名的8443端口見了ws連接):8443 --port=8443 把端口改成了8443。令人沒想到的是,此時的report.html使用代理鏈接的時候是可以連接的,并可以查看實時信息,而直接連接的時候依舊是靜態數據,tcping一看。

去cloudflare的官網可以發現如下內容

只有端口 80 和 443 可兼容以下服務:

對于啟用了中國網絡的域名的中國境內數據中心 HTTP/HTTPS 流量,
也就是說,國內是沒辦法通過cloudflare連接非80/443端口的…

反向代理
但是也不是沒有辦法連接,最后我想到了反向代理的方案。

將啟動參數改為--ws-url=wss://你的域名.com/goaccess --port=7890

修改nginx站點配置文件 /etc/nginx/site-available/default,添加下面內容

location /goaccess {
    proxy_redirect off;
    proxy_pass https://127.0.0.1:7890;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
}

注意,如果你的站點配置文件里面開啟了url重寫,為了避免 /goaccess 受到影響,我們需要把該路徑排除重寫。

把重寫規則都放到location / 里面去

location / { 
    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
}

下面什么都不需要做

location /goaccess/ {
}

之后重啟nginx,再訪問report.html,發現左邊齒輪處終于顯示connect了。

如果你只是自己看或者不在意ip暴露,其實直接使用ip直接連接不走cdn就沒那么麻煩了。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何使用goaccess分析nginx日志”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文成县| 泾川县| 岱山县| 黑龙江省| 长汀县| 临邑县| 调兵山市| 安仁县| 深圳市| 新沂市| 阜南县| 聊城市| 五大连池市| 桓仁| 邻水| 尉犁县| 阜南县| 保靖县| 伊宁市| 鄂托克前旗| 蒲城县| 栾城县| 西乌珠穆沁旗| 丹凤县| 漾濞| 定州市| 鄂尔多斯市| 沈丘县| 福鼎市| 滨州市| 云梦县| 新田县| 肇州县| 东光县| 冕宁县| 莒南县| 峨山| 九龙坡区| 分宜县| 会昌县| 泾源县|