Categories: DevOpsGrafana

goaccess: 最佳的可视Web日志分析器

GoAccess允许您使用简单的命令行仪表板实时监视Web服务器日志,以便快速查看和分析流量指标。它完全在一个终端中运行,统计信息被组织到一个可滚动仪表板上的独立面板中。也可以使用GoAccess生成HTML,JSON和CSV网络流量报告。

GoAccess是基于终端和基于Web的实时仪表板,用于读取Apache或者nginx access.log文件。 access.log文件存储有关Apache Web服务器上发生的事件的信息。此类信息可以包括访问者IP地址,查看的页面,状态代码,使用的浏览器等, 使用GoAccess可以统计分析这些数据。

安装

# 安装依赖
$ sudo apt-get install libncursesw5-dev gcc make libgeoip-dev libtokyocabinet-dev build-essential -y
$ wget http://tar.goaccess.io/goaccess-1.3.tar.gz
$ tar xvzf goaccess-1.3.tar.gz
$ cd goaccess-1.3
$ sudo ./configure --enable-utf8 --enable-geoip=legacy
$ sudo make
$ sudo make install

运行

sudo goaccess /var/log/apache2/access.log --log-format=COMBINED

编辑goaccess日志格式配置

$ sudo vi /usr/local/etc/goaccess.conf

此配置中的注释用#表示,表示服务器将忽略其后同一行上的后续信息。在此文件中,我们总共需要删除两个#符号以取消注释两行。

# Apache log date format. The following date format works with any
# of the Apache's log formats below.
#
date-format %d/%b/%Y

更新配置

# NCSA Combined Log Format
#
log-format %h %^[%d:%^] "%r" %s %b "%R" "%u"
#

goaccess实时查看

为了实时获取服务器上的更新统计信息,您必须再次运行goaccess命令。获得定期更新的唯一方法是创建一个bash脚本,并使其每分钟左右作为cronjob运行。为此,创建一个包含以下内容的bash脚本:

!#/bin/bash
sudo goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html

参考资料:

5.0
03
如何监控docker容器?
Elasticsearch中Painless编程
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

如何使用sms-activate注册Telegram账号?

Telegram是一款广受欢迎…

11小时 ago

WordPress中add_filter和add_action

在WordPress开发过程中…

22小时 ago

bash数组详解

数组是使用最广泛且基础的数据结…

1天 ago

SEOJuice一款AI内链优化工具

SEOJuice是一款创新的工…

3天 ago