by Devin Yang

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

在开始前我先说一下,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

需要登入才可留言!

类似文章


linux,docker

如何在Container内运行X client及X Window简介(docker gui)

今天来跟大家谈谈X,不是iPhone X,也不是X战警哦 ,而是X Window System, 他是目前Linux系统主要的图形化界面显示组件。 由於他非常易於扩展及模块化,打从1986年创建,就一直使用至今。 X Window系统采用的为Client / Server的架构,把应用进程跟显示拆分为二, X Windows的应用进程通常我们称为X Client,而显示则是大家所熟知的X Server。 X client与X server透过X协议(X protocol)沟通,这是一个异步的网络通信协议。

docker,dlaravel

D-Laravel 1.5.5变更说明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 并且所以我可以指定了fpm的默认的owner是dlaravel, --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as.

docker laravel

闲聊D-Laravel的console命令

D-Laravel的console命令让我们快速的了解他运行了什么。如果使用docker-compose是怎么运行的呢? 我们来看看吧。