GoAccess GoAccess 是一款开源的实时 Web 日志分析工具,支持Nginx等多种日志格式,支持分析并导出HTML

1.安装 直接通过yum安装:

安装依赖库

yum install -y GeoIP-devel ncurses-devel

安装GoAccess 

yum install goaccess

修改配置文件,一般在/etc/goaccess/goaccess.conf:

time-format %H:%M:%S date-format %d/%b/%Y

NCSA Combined Log Format

log-format %h %^[%d:%t %^] “%r” %s %b “%R” “%u”

2.使用 设置语言为中文,分析指定的Nginx日志文件,并导出html:

LANG=“zh_CN.UTF-8” && awk ‘$4 ~ /23/Sep/2024/’ /www/wwwlogs/site.log | goaccess -a -c -d -p /etc/goaccess/goaccess.conf –html-prefs ‘{“autoHideTables”:true,“layout”:“vertical”,“perPage”:20,“theme”:“bright”,“showTables”:true,“requests”:{“plot”:{“metric”:“hits-visitors”,“chartType”:“bar”}}}’ > /www/wwwlogs/log.html

-a 或 –agent-list:显示访问者使用的浏览器和操作系统信息。 -c 或 –http-protocol:显示 HTTP 协议的版本。 -d 或 –no-term-resolver:不解析终端分辨率。 -p 或 –config-file:指定 GoAccess 的配置文件路径,这里是 /etc/goaccess/goaccess.conf。 –html-prefs:设置 HTML 输出的偏好设置。

3.定时导出 创建如下的脚本:

#!/bin/bash #页面转换为中文 LANG=“zh_CN.UTF-8”

定义日志文件和输出文件的路径

LOG_FILE=“/www/wwwlogs/webapi.log” TEMP_OUTPUT_FILE=“/www/nginx/online.html” OUTPUT_FILE=“/www/nginx/report.html” TEMP_FILE=“/tmp/webapi_23sep2024.log”

使用 awk 筛选出2024年9月23日的日志行,并保存到临时文件

awk ‘\(4 ~ /23/Sep/2024/' "\)LOG_FILE“ > ”$TEMP_FILE“

检查临时文件是否为空

if [ -s ”$TEMP_FILE“ ]; then

# 使用 goaccess 分析临时文件

LANG=”zh_CN.UTF-8“ && goaccess -a -c -d -p /etc/goaccess/goaccess.conf –html-prefs ’{”autoHideTables“:true,”layout“:”vertical“,”perPage“:20,”theme“:”bright“,”showTables“:true,”requests“:{”plot“:{”metric“:”hits-visitors“,”chartType“:”bar“}}}‘ ”\(TEMP_FILE" > "\)TEMP_OUTPUT_FILE“

检查 goaccess 是否成功执行并输出结果

if [ $? -eq 0 ]; then
    cp "$TEMP_OUTPUT_FILE" "$OUTPUT_FILE"
    echo "报告已成功生成并保存到 $OUTPUT_FILE"
else
    echo "生成报告时发生错误。"
fi

else

echo "没有找到2024年9月23日的日志数据。"

fi

清理临时文件

rm -f ”$TEMP_FILE“

4.演示 实时数据,5分钟更新一次:https://nicen.cn/logs.html

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。