GoAccess中文界面显示配置
一、GoAccess简单介绍
1、简介 GoAccess旨在成为一个基于终端的快速日志分析器,其核心思想是实时快速分析和查看Web服务器统计信息,GoAccess可分析Apache/Nginx等WEB日志, 同时还支持生成HTML、JSON、CSV等数据报告。 2、特点: 所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML输出上每秒更新一次。 GoAccess允许任何自定义日志格式字符串。预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等 跟踪提供请求所需的时间。如果您想跟踪减慢网站速度的网页,则非常有用。 数据持久性强,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志。 GoAccess是用C语言编写的,要运行它,你只需要将ncurses作为依赖项,它甚至还具有自己的RFC6455兼容Web Socket服务器。 您可以针对访问日志文件运行它,选择日志格式并让GoAccess解析访问日志并显示统计信息。 按小时或日期确定最慢运行请求的匹配数,访问者数,带宽数和指标数。 多个虚拟主机,一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。 定制GoAccess以适合您自己的色彩品味。通过终端,或者只是更新HTML输出上的样式表。
二、安装
goaccess安装很简单,可以yum直接安装,不过版本较低,也可以编译安装,可以使用较高版本,目前是V1.3版本。安装以及介绍可以参考官网: 这里就不介绍安装配置方法了,网上有很多文档,比如: 这里主要介绍中文界面配置 系统和版本说明: 系统:Centos 6.x 版本:GoAccess v1.3
三、如何让goaccess的dashboard界面显示中文
goaccess配置好之后,将生成的xxx.html文件当做nginx或者其他web的访问页面,就可以直接在浏览器中查看到日志的分析情况,比如请求的文件,访客的主机名和ip 地址,状态码等信息,但是是英文显示的,对一些非技术人员来说,可能看起来不那么只管,所以可以将其配置为中文显示,步骤如下: 1、修改goaccess所在服务器的系统语言为中文 #cat /etc/sysconfig/i18n LANG="zh_CN.UTF-8" 为了让其立刻生效,在shell界面执行 #LANG="zh_CN.UTF-8" 2、测试将log转换成html,查看dashboard界面是否显示为中文 #goaccess -p /tmp/goaccess.conf access.log -o /www/html/go.html 一般情况下,执行之后,就可以看到可以显示中文了,如下图:
3、goaccess实时分析展示log 不管是官网还是网上个人博客,都说是使用--real-time-html 参数来实现实时展示log,但是我试了多次都无法实现,如下命令: #goaccess -p /tmp/goaccess.conf access.log -o /www/html/go.html --real-time-html & 会在后台运行,如果在goaccess.conf配置了addr x.x.x.x 也可以看到监听了默认的7890端口,但是我遇到的情况是access.log一直在更新,dashboard界面分析的内 容还是不会自己更新,不知道是什么问题,也请配置成功实时日志展示的朋友们多多留言告知我方法,感谢。 因为对日志实时性要求不是非常高,于是我就配置了crontab,让其每隔一段时间转换一次,也可以实现伪实时性观察log,如下: 0 * * * * /usr/local/bin/goaccess -p /tmp/goaccess.conf /var/log/nginx/access.log -o /www/html/go.html 但是遇到一个问题,发现在shell命令行执行goaccess 命令可以正常的中文显示,配置到crontab之后,无法显示中文了,后来发现是环境变量的问题,于是将crontab 中的内容修改成了一个小的shll脚本,如下: #cat /root/goaccess.sh #!/bin/bash LANG="zh_CN.UTF-8" /usr/local/bin/goaccess -p /tmp/goaccess.conf /var/log/nginx/access.log -o /www/html/go.html 然后再将脚本加入到crontab即可 #crontab -l 0 * * * * /bin/bash /root/goaccess.sh 4、有些朋友估计不想修改系统默认语言,就喜欢使用默认的英文,那么goaccess可以配置dashboard显示中文吗?答案是:可以。 命令行界面: #LANG="zh_CN.UTF-8" bash -c "goaccess -p /tmp/goaccess.conf /var/log/nginx/access.log -o /www/html/go.html --log-format=COMBINED" 或者直接写一个小脚本即可,如下: #cat /root/goaccess.sh #!/bin/bash LANG="zh_CN.UTF-8" bash -c "goaccess -p /tmp/goaccess.conf /var/log/nginx/access.log -o /www/html/go.html --log-format=COMBINED" 以上就是我个人配置的过程,有不足之处,请多多指出! 参考链接:https://github.com/allinurl/goaccess/issues/1043
转载于:https://blog.51cto.com/linuxg/2335007