侧边栏壁纸
博主头像
ayou

中年互联网混子,现居苏州,曾经技术型宅男一个,
爱好吃,爱好睡,体制外,爱岗敬业,
遵纪守法,头发短,见识短,伪Geek,毫无城府。

  • 累计撰写 1597 篇文章
  • 累计收到 12 条评论

1panel中如何统计网站流量信息【goaccess for Docker快速实现方案】

2024-8-30 / 0 评论 / 678 阅读

在Web面板(1Panel)中,若想深入了解OpenResty内网站的服务器统计信息,比如访问量、流量等细节,虽然可以通过matomo、umami等插件进行统计,但是如果涉及到反向代理或者想统计具体走了多少GB流量的话,那么优雅的通过goaccess来生成统计报告,无疑是一个完美的方案。他仅仅只需要一句命令来实现。

GoAccess是一个用于分析Nginx日志的实时可视化工具。本文介绍了如何安装GoAccess,包括解决依赖问题,配置Nginx以访问生成的报告页面,以及通过定时任务或后台运行选项来更新数据。

微信图片_20240830152304.png

具体命令如下:

touch /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html
cat /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/access.log | docker run --rm -i -v /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html:/report.html -e LANG=zh_CN.UTF-8 -e TZ=Asia/Shanghai allinurl/goaccess -a -o report.html --log-format COMBINED -
这样就可以在你的日志目录下生成一个“report.html ”文件打开就是你想看到的统计表啦。
 
以下是对这两个命令的解析:
一、touch /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html
  1. touch命令用于创建一个新的空文件或者更新一个已有文件的时间戳。
  2. 这个命令的作用是在指定的路径/opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/下创建一个名为report.html的文件。如果该文件已经存在,那么这个命令会更新它的时间戳。请把这个路径修改成你想生成日志页面的绝对位置。

二、cat /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/access.log | docker run --rm -i -v /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html:/report.html -e LANG=zh_CN.UTF-8 -e TZ=Asia/Shanghai allinurl/goaccess -a -o report.html --log-format COMBINED

  1. cat /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/access.log:这部分命令是读取指定路径下的access.log文件内容。请自行修改成你的日志文件目录(1Panel中其实你只需要改一下域名就行)。
  2. |:管道符号,将前一个命令的输出作为后一个命令的输入。
  3. docker run --rm -i -v /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html:/report.html -e LANG=zh_CN.UTF-8 -e TZ=Asia/Shanghai allinurl/goaccess -a -o report.html --log-format COMBINED
    • docker run:启动一个 Docker 容器。
    • --rm:在容器退出时自动删除容器。
    • -i:以交互模式运行容器,保持标准输入打开。
    • -v /opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html:/report.html:将主机上的/opt/1panel/apps/openresty/openresty/www/sites/j.ayou.info/log/report.html文件挂载到容器内的/report.html路径。请自行修改和第一条创建的保持一致。
    • -e LANG=zh_CN.UTF-8:设置容器内的语言环境为中文 UTF-8。
    • -e TZ=Asia/Shanghai:设置容器内的时区为上海时区。
    • allinurl/goaccess:要运行的 Docker 镜像名称。
    • -a-o report.html --log-format COMBINED:应该是goaccess工具的参数,具体功能取决于该工具的文档说明,可能是进行某种分析并输出到名为report.html的文件中,且使用COMBINED格式的日志格式。

你可以将命令写进计划任务里面,这样就可以定期更新统计信息了。并且可以自己根据实际情况修改映射文件的路径,以实现在线访问相关报表。

评论一下?

OωO
取消