美文网首页
日志分析工具 GoAccess v1.3 发布,支持简体中文

日志分析工具 GoAccess v1.3 发布,支持简体中文

作者: IT实战联盟Lin | 来源:发表于2018-12-20 14:50 被阅读187次

    GoAccess 简介

    简单来说呢 GoAccess 是一个专门用来分析日志的工具,既可以在终端中展示结果,也可以生成 HTML 报表在浏览器中查看。GoAccess 最吸引人的一点就是它生成的 HTML 足够炫酷(ÒωÓױ)。


    GoAccess.png

    其他方面的特性包括

    1、数据近乎是实时的——浏览器通过 WebSocket 从服务器上的 GoAccess 实时获取数据;
    2、配置简单;
    3、支持的日志格式多(反正只要支持 nginx 就行(ÒωÓױ))。
    

    GoAccess v1.3 更新

    这次GoAccess v1.3是一个主要版本,自上一版本以来提交了582次提交。最重要的更新是:i18n用于法语,西班牙语,中文和日语。它还增加了对openssl-1.1的WebSocket服务器的支持。现在可以包括自定义浏览器以及其他功能和修复程序。

    GoAccess v1.3目前已经支持简体中文,上图即为实时输出的html截图,可以看到各个模块的名称和简介已经都是中文了,并且可以根据Linux默认语言来自动输出中文。 如果你有在使用GoAccess分析器的话,强烈建议你更新。

    安装使用

    遵循着能用包管理器安装的软件绝不编译的原则,用 Ubuntu 上的 apt 安装后发现版本太旧了,不支持 WebSocket 实时刷新数据,只好从头编译了。

    安装依赖库

    $ apt install libncursesw5-dev libssl-dev
    由于我是通过 https 来访问到 GoAccess 生成的 HTML 的,GoAccess 使用的 WebSocket 也必须使用加密的wss:// 协议,需要安装 libssl-dev,你如果走 http 的话就不用安装这个包了。

    下载源码
    $ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
    

    为什么不从 GitHub 上克隆呢?因为这个是稳定版,要遵循少踩坑的原则└( ̄^ ̄ )┐

    ##### 编译
    $ tar -xf goaccess-1.2.tar.gz
    $ cd goaccess-1.2/
    $ ./configure --enable-utf8 --with-openssl
    $ make -j2
    $ make install
    

    参数 -j2 让 make 可以同时编译两个文件,这样稍微快一些,我的 VPS 是单核的所以没有开太大(ノДT),还有 不需要走 https 的话可以去掉 --with-openssl 选项。

    配置

    GoAccess 的配置文件在 /etc/goaccess.conf,不过我喜欢把配置文件放在 $HOME。

    ~/.goaccessrc

    time-format %H:%M:%S
    date-format %d/%b/%Ylog-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"real-time-html true
    ssl-cert <cert.crt>
    ssl-key <priv.key>
    ws-url wss://<your-domain>
    port <port>
    output /var/www/<xxx>/stat/index.html
    

    需要注意的几点

    三个 format 的设置要与 nginx 的设置一致,当然如果你像我这样根本没改过 nginx 的日志格式的话就用这个就行了;
    real-time-html 用来使用实时刷新特性;
    port 是用来和浏览器通信的,选一个没被占用的就行(别忘了在防火墙里开启端口!血的教训〒△〒 哭);
    如果你不走 https 的话,ssl-cert,ssl-key,ws-url都不是必需的;
    把 output 放到你的站点目录下面;
    记着创建 stat/ (或者其他什么的)文件夹。
    另外说一下 ws-url,我之前没有设置这个选项的时候 HTML 里 WebSocket 用的协议是 ws://, 浏览器是不允许在 https 网页里使用非加密协议的,找了一圈发现 ws-url 这个选项,其实我觉得应该叫 ws-scheme 才贴切呢(・∀・)

    走起~

    为了后台运行,我是用 Tmux 运行的,你也可以用 nohup 命令。
    打开 Tmux 并启动 GoAccess

    $ tux
    $ goaccess --config-file=.goaccessrc /var/log/nginx/access.log
    一切正常的话 GoAccess 应该开始分析日志文件了,然后显示 "WebSocket server ready to accept new client connections"。
    

    现在按下你 Tmux 的 PREFIX 键(默认是 Ctrl+B),再按 d 从 Tmux 中脱离出来,这样即使 ssh 断开连接了也能保持后台运行,想查错也可以用

    $ tux attach
    

    连接刚才那个会话。
    现在用浏览器打开 http://<your-domain>/stat/ 应该就可以看见分析结果了,每秒钟刷新一次数据。

    贡献者

    更多精彩内容可以关注“IT实战联盟”公众号哦~~~

    image

    相关文章

      网友评论

          本文标题:日志分析工具 GoAccess v1.3 发布,支持简体中文

          本文链接:https://www.haomeiwen.com/subject/utpykqtx.html