Goaccess报错记录

316 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Goaccess报错记录

Error occurred at: src/websocket.c - ws_socket - 2782 Unable to set bind: Address already in use.

完整报错

GoAccess - version 1.3 - Nov 15 2019 14:44:43
Config file: No config file used

Fatal error has occurred
Error occurred at: src/websocket.c - ws_socket - 2782
Unable to set bind: Address already in use.

^C
[3]-  Exit 1                 goaccess /var/log/nginx/access.log -o /var/www/html/log/index.html --log-format=COMBINED --real-time-html

找了一圈csdn和百度都没找到,后来想了一下可能的问题,自行解决了。 ps | grep goaccess 看进程,或者lsof -i:7890看gocess使用的默认端口。 kill [pin] ,杀掉进程后重新运行命令即可。

gocess用nohup挂不起来,直接加&即可后台运行。 ubuntu默认安装的nginx在etc目录下。日志在var/log/nginx下。 输出日志分析到var/www/log下,然后用nginx写反向代理alias。 多服务器管理的话,有条件的可以使用syslog日志服务器。 也可以使用nginx反向代理alias+html的frame框架。

运行命令: goaccess /var/log/nginx/access.log -o /var/www/html/log/index.html --log-format=COMBINED --real-time-html &

geoip功能使用

maxmind.com注册账号

下载安装goaccess

apt-get install gpaccess

进入goaccess文件夹

cd /etc/goaccess

获取GeoLiteCity下载地址 下载文件

wget -o GeoLiteCity.dat.gz
 '[url]' 
wget -O GeoLiteCity.tar.gz "https://download.maxmind.com/app/geoip_download_by_token?edition_id=GeoLite2-City&date=20220715&suffix=tar.gz&token=v2.local.KX3o0huhzvglU5xU1JzJIj1XtVK7Tg8lLl2KfKjQU0po3GQ1CbBYFZZbrjQG_Wfpv1QZwx65h7gQ3cey_JieNFfzfde91JefxDXgFJdbuEgoN70_qz_672YID3OC5yejiyFxoaeopiEwHfHLyWfX2nNMTcxtz5V2u-8uIlXjjEpiSSPx7T3kK_md2gX2W5FJVBhRAQ"

解压文件

tar -zxvf GeoLiteCity.tar.gz && mv GeoLite2-* GeoLiteCity && cd GeoLiteCity && mv *.mmdb GeoLiteCity.dat

命令

goaccess /var/log/nginx/access.log -o /var/www/html/log/index.html --geoip-database=/etc/goaccess/GeoLiteCity/GeoLiteCity.dat --log-format=COMBINED --real-time-html &

写入开机自启动

echo "goaccess /var/log/nginx/access.log -o /var/www/html/log/index.html --geoip-database=/etc/goaccess/GeoLiteCity/GeoLiteCity.dat --log-format=COMBINED --real-time-html &" >> /etc/rc.local