本文已参与「新人创作礼」活动,一起开启掘金创作之路。
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