nginx日志分析工具goaccess安裝及使用方法

1、安裝依賴

yum install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-develyum install gcc -y

2、安裝goaccess

# wget https://tar.goaccess.io/goaccess-1.3.tar.gz
# tar -xzvf goaccess-1.3.tar.gz
# cd goaccess-1.3/
# ./configure --enable-utf8 --enable-geoip=legacy
# make
# make install

3、修改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"';

4、修改文件/usr/local/etc/goaccess.conf改成goaccess格式標準對應為

time-format %H:%M:%S
date-format %d/%b/%Y
log-format "%x","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"
log-format COMBINED

5、測試生成頁面

goaccess -f /var/log/nginx/access.log -o /你的目錄路徑/log.html --log-format=COMBINED

6、加入定時任務

編寫定時執(zhí)行腳本 goaccess.sh

#!/bin/bash
LANG="zh_CN.UTF-8"
goaccess -p /goaccess配置目錄/goaccess.conf -f /nginx日志目錄/access.log -o /日志輸出目錄/log$(date +%Y%m%d).html --log-format=COMBINED

設置定時任務,第天凌晨2點執(zhí)行 >/dev/null 2>&1表現(xiàn)不輸出日志

# crontab -e
0 2 * * * /bin/bash /root/goaccess.sh >/dev/null 2>&1

7、重啟定時任務

systemctl restart crond #重啟
systemctl status crond #查看狀態(tài)

注意:若定時任務執(zhí)行出錯,類似:

import _mysql ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory

可能是你缺少 libmysqlclient.so.18,或是高于 libmysqlclient.so.18
你可以查看mysql版本,安裝相應的mysql-community-libs-compat。如我的mysql版本是5.7,安裝如下:

yum --enablerepo=mysql57-community install mysql-community-libs-compat

創(chuàng)建軟鏈

#/usr/lib64/mysql 你的libmysqlclient.so.18所在位置
#lib64你的系統(tǒng)位數(shù)
ln -s /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容