01 Nginx日志文件
# 在Nginx日志文件查看日志
[root@likexy-nginx conf.d]# cat /var/log/nginx/access.log
172.2.25.10 - - [24/Nov/2024:17:33:07 +0800] "GET / HTTP/1.1" 200 7 "-" "curl/7.71.1" "-"
# IP地址-登录用户-时间-请求方法-请求资源-状态码-资源大小-referer(从那个网站过来)-客户端信息-代理
02 在Nginx配置文件修改日志
# Nginx配置文件日志格式,如果想更详细,可以自定义变量
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
# 状态码
# 200 OK
# 304 缓存
# 404 找不到文件,目录不存在
# 403 找不到文件,目录存在
# 日志切割,防止日志过大,每隔一段时间换一个文件
[root@likexy-nginx conf.d]# cat /etc/logrotate.d/nginx
/var/log/nginx/*.log {dailymissingokrotate 52compressdelaycompressnotifemptycreate 640 nginx admsharedscriptspostrotateif [ -f /var/run/nginx.pid ]; thenkill -USR1 `cat /var/run/nginx.pid`fiendscript
}
03 goaccess 日志监控可视化
[root@likexy-nginx opt]# wget http://tar.goaccess.io/goaccess-1.2.tar.gz
[root@likexy-nginx opt]# tar -zxvf goaccess-1.2.tar.gz
[root@likexy-nginx opt]# cd goaccess-1.2/
[root@likexy-nginx goaccess-1.2]# ./configure --enable-utf8 --enable-geoip=legacy
[root@likexy-nginx goaccess-1.2]# yum install -y gcc gcc-c++ geoip-devel ncurses-devel
[root@likexy-nginx goaccess-1.2]# make && make install
# 查看版本信息
[root@likexy-nginx goaccess-1.2]# goaccess -V
GoAccess - 1.2.
For more details visit: http://goaccess.io
Copyright (C) 2009-2016 by Gerardo Orellana
# 修改配置文件
[root@likexy-nginx goaccess-1.2]# vim /usr/local/etc/goaccess.conf
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
# 控制台模式
[root@likexy-nginx goaccess-1.2]# goaccess -a -d -f 需要分析的日志文件 -p goaccess.conf文件
[root@likexy-nginx goaccess-1.2]# goaccess -a -d -f /var/log/nginx/access.log -p /usr/local/etc/goaccess.confF1 主帮助页面
F5 重绘主窗口
q 退出
1-15 跳转到对应编号的模块位置
o 打开当前模块的详细视图
j 当前模块向下滚动
k 当前模块向上滚动
s 对模块排序
/ 在所有模块中搜索匹配
n 查找下一个出现的位置
g 移动到第一个模块顶部
# HTML模式
[root@likexy-nginx code]# goaccess /var/log/nginx/access.log -p /usr/local/etc/goaccess.conf -o /code/test01.html --real-time-html
[root@likexy-nginx code]# goaccess 需要分析的日志文件 -p goaccess.conf文件 -o 存放html文件位置 --real-time-html

图1 goaccess可视化面板