by Devin Yang

建立于: 1年前 ( 更新: 1年前 )

在开始前我先说一下,GoAcess也能产出静态数据只要您有log,
因为我觉的即时感觉比较炫,所以本文将专注在GoAccess即时显示的部分进行介绍。

虽然Google Analytics(GA)很好用,但试试另一种GA感觉也很不错,
例如您想了解网站使用者用什么浏览器访网站。

我在好几年前自己的笔记有写过GoAceee这款工具了,但真的太久,久到自己都忘了有这东西。
下方是早期的旧画面,来回忆一下,本篇我就来Update一下我的最新做法。


开始前,先Show一下新的UI吧,图中绿色的登号代表了WebSocket是有正确连线的,所以当使用者开启了网站即时响应在画面上。


本文我会采phpenv的环境进行说明,因为简单好设置,但基本上phpenv就是包著docker的bash,不是包著羊度的狼哦。🤪
所以phpenv能跑,您的Docker环境设置好应该也不成问题。
如果您想搜寻phpenv可下关键字deviny/phpenv,就能找到罗。

那就直接开始吧,非常简单。😎

第一步: 在phpenv中,我们可以用如下的命令导出nginx的log,可透过Ctrl+c停止

./console logs --no-log-prefix -f web|tee nginx.log

如果您不是用phpenv可将./console换成docker-compsoe试您的运气,您的容器服务名称可能不叫web,请自行调整。

第二步: 开启另一个终端机,进行简易验证,第一步的命令中,会生成nginx.log在phpenv目录中了。
我们可以下tail -f nginx.log命令,再开网页,看看log会不会跑,如果会动您差不多成功了。

始用Ctrl+c中断。

第三步:  查看环境设置档,phpenv提供简易的./info命令,可以让我们查看容器的项目的环境设置
留意HTTP_PORT及FOLDER这两个设置,跟本次操作有关。

第四步: 设置您的项目路径,安全考量,您可以用phpenv启动另一台不公开的WEB,或者把report.html名称改复杂的名称(下方命令中)。
在这里,我直接用目前ccc项目开启测试,ccc项目内网使用的port 1056,Laravel项目数据夹是/volume1/docker/ccc。
所以,GoAccess命令如下,请自行揣摩:

tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html

在上方两行命令,全部拷贝粘贴终端机,他会将nginx.log的标准输出丢给goaccess的官方容器处理。
您需留意,换掉我后方的Proejct目录/volume1/docker/ccc/public/report.html
这个容器默认会开启port 7890的WebSocket用来传输数据。
上方的命令启动前,您也可以先清一下nginx.log,因为不正确的log档会启动失败。

$ >nginx.log

下图是我启动的结果:

我的主机内网IP是192.168.99.130,所以我就能开启下方网址,看即时解析罗。

http://192.168.99.130:1056/report.html

你如果想改WSS的port,例如换成7800,请冒号两边一起换,并加上--port 7800参数,命令如下:

tail -f nginx.log|
> docker run -p 7800:7800 --rm -i -e LANG=$LANG allinurl/goaccess --port 7800 -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html
 [SETTING UP STORAGE -] {0} @ {0/s}

如果您想深入专研,可以用Docker命令行出帮助说明哦

docker run --rm allinurl/goaccess --help

实际操作画面如下载图

以上就是轻松快速运行GoAcess的操作啦。

在bash的环境下,我们可以透过nohup及&把这两个命令放到背景运行。

nohup ./console logs --no-log-prefix -f web|tee nginx.log &
nohup tail -f nginx.log|
docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - >  /volume1/docker/ccc/public/report.html &


最后附上官方下载网址:

https://goaccess.io/download

 

Tags: docker goaccess config

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker,phpenv

在Linux上ping不到host.docker.internal

可用docker version检查,确认版本在Docker v20.10+即可添加extra_hosts如下:

dlaravel,docker

D-Laravel学习三阶段

闲聊D-Laravel的使用的三阶段,为何使用D-Laravel。 因为D-Laravel使用的设置档都相当的简单,极适何Docker的初学者学习, 并且就自不懂Docker运用的使用者,也可以借住./console及./create两个命令创建项目。

config

3C Tech Center转移至GCP了

我受不了Bulehost的龟速,已将DNS拉回由networksolutions直接管理啦, 调整DNS设置TTL到两小时,或许会再转换到其他地方.. 以下是Bulehost我个人无法接受的几点。 一、主机应该在美国,速度太慢。 二、无http/2。 三、mysql的时区无法调整。 所以决定移到Google Cloud Platform...