GoAccess是一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默认输出,但它能够生成完整的,独立的实时 HTML报告(非常适合分析,监控和数据可视化),以及a JSON和CSV报告。

  • 所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML输出上每秒更新一次。
  • GoAccess允许任何自定义日志格式字符串。预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等
  • 跟踪提供请求所需的时间。如果您想跟踪减慢网站速度的网页,则非常有用。
  • 数据持久性强,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志。
  • GoAccess是用C语言编写的,要运行它,你只需要将ncurses作为依赖项,它甚至还具有自己的RFC6455兼容Web Socket服务器。
  • 您可以针对访问日志文件运行它,选择日志格式并让GoAccess解析访问日志并显示统计信息。
  • 按小时或日期确定最慢运行请求的匹配数,访问者数,带宽数和指标数。
  • 多个虚拟主机,一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。
  • 定制GoAccess以适合您自己的色彩品味。通过终端,或者只是更新HTML输出上的样式表。

基本使用

安装:wget https://tar.goaccess.io/goaccess-1.2.tar.gz

基础配置
goaccess.conf在etc目录下

  1. time-format %H:%M:%S
  2. date-format %Y-%m-%d
  3. log-format COMBINED
  4. daemonize true
  5. real-time-html true
  6. log-file /home/jw/nginx/logs/access.log #指定log文件
  7. output-format /home/jw/nginx/logs/report.html #输出
  1. 配置路由
  2. location /report.html {
  3. alias /home/jw/nginx/logs/report.html;
  4. }

运行:./goaccess -p /home/jw/GoAccess/etc/goaccess.conf
ps:goaccess很容易挂,用./goaccess -s restart重启即可

image.png

在https下使用

  1. 这里要注意的是,如果我们要用到https并且http请求都会跳转到https时,我们要在`configure`中添加一个`--with-openssl`不然我们使用`https``ws`会跳转到`wss`但是会被拒绝掉。
  • ./configure —prefix=/home/jw/goaccess —with-openssl
  • make
  • 如果之前已经安装了goaccess,不要make install,直接用新的goaccess可执行(会生成在与configure同级目录下)文件覆盖掉之前的,如果当前的goaccess服务没停,cp后记得加-f

证书配置

  1. ssl-cert /home/jw/nginx/conf/1_www.micserver.cn_bundle.crt
  2. ssl-key /home/jw/nginx/conf/2_www.micserver.cn.key

改websocket连接方式

  1. str = !/^wss?:\/\//i.test(str) ? 'ws://' + str : str;
  2. 改为
  3. str = !/^wss?:\/\//i.test(str) ? 'wss://' + str : str;

image.png

常见配置

  1. # Time Format Options (required) 时间格式
  2. time-format %H:%M:%S
  3. # Date Format Options (required) 日期格式
  4. date-format %Y-%m-%d
  5. # Log Format Options (required) 日志格式
  6. log-format COMBINED
  7. # UI Options 界面配置,不用管
  8. # Server Options 服务器配置
  9. #addr 0.0.0.0 #监听端口
  10. daemonize true #后台运行
  11. #origin http://example.org #header中的origin
  12. #port 7890 #默认的就是7890,如果冲突的话改掉即可
  13. real-time-html true #实时更新
  14. ssl-cert /home/jw/nginx/conf/1_www.micserver.cn_bundle.crt #证书
  15. ssl-key /home/jw/nginx/conf/2_www.micserver.cn.key #key
  16. # File Options 文件配置
  17. log-file /home/jw/nginx/logs/access.log #监视nginx的log
  18. # Parse Options
  19. output-format /home/jw/nginx/logs/report.html #输出html