作者回复: 谢谢分享!
作者回复: :-)
作者回复: 100G吗?可以的,但对CPU是有消耗的。官方有个benchmark,采用i7 2GHz的CPU分析时,每 12GB日志如果在磁盘上需要一个小时的处理时间,如果是在内存中是20分钟。它默认在内存中用hash表处理,每秒处理五万行。所以这种大流量分析,还是需要考虑你有没有富裕的CPU资源
作者回复: 你的goaccess解析配置语句是什么?
作者回复: 功能正常么?这个进程用于推送ws消息,页面建立了ws连接了吗?
作者回复: 简单有效,实时更新比较有趣,不过定制化就很差。
作者回复: (+﹏+)
作者回复: 1、如果有刷新,说明goaccess进程还在,可以用ps -ef | grep goaccess看一下。当进程还在,你新启动肯定会失败,至少监听端口就是冲突的。
2、不应该执行多次,而是用-f指定多个文件。
3、不建议要用&符号,--daemonize可以后台启动
作者回复: 应该是你的access日志格式与COMBINED不匹配所致。你帖一条access日志看看
作者回复: proxy_bind指令可实现指定本地IP地址及端口的功能。
你得清楚,一个TCP连接是由四元组决定的,当它们都被固定时,意味着nginx与上游只能并发一条TCP连接,多路复用就失效了,你确定要这么做??建议仔细看看《Web协议详解与抓包实战》第107课。
作者回复: 命令行最后加&
作者回复: 1、先检查/usr/local/openresty/nginx/html/report.html文件是否存在;
2、如果存在,那么访问/report.html返回码是什么?
作者回复: 这得抓个包看下了,是TCP三次握手没建立成功吗?chrome中看不到这样的信息,可以用wireshark在windows端抓包,可以参看《Web协议详解与抓包实战》第37、39、40课。在Linux上也可以尝试用tcpdump在7890端口上抓包看看有没有SYN报文过来,参看第87课。
作者回复: 课程例子只是告诉如何配置好goaccess,如果只想让内网访问,请参照44课listen指令后的ip配置
作者回复: 实时刷新是依赖于websocket连接可以正常工作,你可以用Network面板抓包看看,当开启了https后,是不是websocket连接失败?可以参见我的《Web协议详解与抓包实战》第9课、第44课。
作者回复: ws端口打开了吗?是不是被防火墙拦截了?
作者回复: 可以做分割,goaccess会把新增日志的分析结果放在内存中
作者回复: 用浏览器访问即可,用curl、telnet、爬虫这样的工具也可以。
作者回复: 这是goaccess的内部错误,建议google或者到goaccess的相关站点上找找答案,Nginx不存在问题。例如,试下:https://github.com/allinurl/goaccess/issues/1340