Goaccess 实现 access 日志的可视化

官网
https://goaccess.cc/?mod=man

nginx 配置

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        location / {
            alias  /hexohtml/;
            autoindex on;
            #index  index.html index.htm;
        }

安装依赖包

yum install glib2 glib2-devel GeoIP-devel  ncurses-devel zlib zlib-devel
# 如果出现:configure: error: *** Missing development files for the GeoIP library,则需要执行下边安装geip
yum install geoip-devel ncurses ncurses-devel glib2-devel

下载源码并编译安装

mkdir -p /soft/goaccess
cd /soft/goaccess
wget -c https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=legacy
make && make install
# 二进制文件默认安装路径在 /usr/local/bin

静态日志分析

goaccess -d -f access.log

动态实时分析(http ws)

设置 report.html 路径

本例将 report.html 文件放在 /usr/local/nginx/logs 下。

vi /usr/local/nginx/conf/nginx.conf 添加:
location /report.html {
    alias  /usr/local/nginx/logs/report.html;
    autoindex on;             
    #index  index.html index.htm;
}
# nginx -s reload

goaccess 实时分析

goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/logs/report.html --real-time-html --log-format=COMBINED --time-format='%H:%M:%S' --date-format='%d/%b/%Y' --daemonize
  • –daemonize 以守护进程运行 websocket
  • 仅在 nginx.conf 中 log_format 格式默认的时候,goaccess 可以使用 log-format=COMBINED 参数,否则,log-format 也要相应的指定格式。
  • log/date/time format 可以在 goaccess 命令后直接指定,也可以提前在 goaccess.conf 文件中配置好。
  • –log-format 支持的格式:官网链接
COMBINED     | 联合日志格式
VCOMBINED    | 支持虚拟主机的联合日志格式
COMMON       | 通用日志格式
VCOMMON      | 支持虚拟主机的通用日志格式
W3C          | W3C 扩展日志格式
SQUID        | Native Squid 日志格式
CLOUDFRONT   | 亚马逊 CloudFront Web 分布式系统
CLOUDSTORAGE | 谷歌云存储
AWSELB       | 亚马逊弹性负载均衡
AWSS3        | 亚马逊简单存储服务 (S3)

浏览器查看 report

登录 http://服务器IP/report.html 查看 report

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GoAccess是一款基于日志分析的开源工具,可以帮助用户实时监控和分析服务器日志,以便更好地了解服务器的状态和性能。下面是GoAccess分析nginx日志的详细步骤: 1. 安装GoAccess 在Linux系统中,可以通过包管理器安装GoAccess,例如: ``` sudo apt-get install goaccess ``` 2. 收集nginx日志nginx的配置文件中,可以设置日志的格式和路径。例如: ``` log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; ``` 这里采用的是默认的nginx日志格式,日志文件路径为`/var/log/nginx/access.log`。 3. 分析nginx日志 使用GoAccess来分析nginx日志非常简单,只需要在终端输入以下命令: ``` goaccess /var/log/nginx/access.log ``` 然后就会显示一个实时的控制台窗口,展示nginx日志的各种统计信息,例如: - 请求的响应时间 - 客户端地理位置 - 请求的URL和HTTP方法 - 访问来源和搜索关键字 - 响应状态码和响应大小 还可以使用GoAccess的各种选项来自定义分析结果的格式和内容,例如: - `--date-format`:指定日期格式 - `--log-format`:指定日志格式 - `--output`:将结果输出到文件中 例如,要将结果输出到HTML文件中,可以使用以下命令: ``` goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED ``` 这将把分析结果保存到`report.html`文件中,并使用默认的`COMBINED`日志格式。 总之,GoAccess是一款非常强大和易于使用的日志分析工具,可以帮助我们更好地了解服务器的状态和性能,从而进行优化和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值