Nginx日志分析工具GoAccess,有没有好用的Nginx日志分析工具?

1,440次阅读
没有评论

共计 1658 个字符,预计需要花费 5 分钟才能阅读完成。

官方地址:https://goaccess.io

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
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-23发表,共计1658字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)