zoukankan      html  css  js  c++  java
  • goaccess geoip 测试

    goaccess 是一个很不错的日志实时统计分析工具,我们可以用来方便的分析nginx apcahe iis 等的日志信息
    对于geoip 的支持是需要源码编译的,所以基于官方docker 镜像添加了geoip 的支持

    dockerfile

    # Builds a goaccess image from the current working directory:
    FROM alpine:edge
    WORKDIR /goaccess
    RUN wget https://tar.goaccess.io/goaccess-1.3.tar.gz
    RUN tar -xzvf goaccess-1.3.tar.gz
    RUN cd goaccess-1.3/
    ARG build_deps="build-base ncurses-dev autoconf automake git gettext-dev"
    ARG runtime_deps="tini ncurses libintl gettext openssl-dev"
    RUN apk update && 
        apk add -u $runtime_deps $build_deps geoip-dev && 
        wget -O goaccess-1.3.tar.gz https://tar.goaccess.io/goaccess-1.3.tar.gz && 
        tar -xzvf goaccess-1.3.tar.gz && 
        cd goaccess-1.3 && 
        autoreconf -fiv && 
        ./configure --enable-utf8 --enable-geoip=legacy --with-openssl && 
        make && 
        make install && 
        apk del $build_deps && 
        rm -rf /var/cache/apk/* /tmp/goaccess/* /goaccess
    VOLUME /srv/data
    VOLUME /srv/logs
    VOLUME /srv/report
    EXPOSE 7890
    ENTRYPOINT ["/sbin/tini", "--"]
    CMD ["goaccess", "--no-global-config", "--config-file=/srv/data/goaccess.conf"]

    docker-compose 文件

    version: "3"
    services:
      log:
        image: dalongrong/goaccess-geo
        ports:
        - "7890:7890"
        volumes: 
        - "./data:/srv/data"
        - "./logs:/srv/logs"
        - "./html:/srv/report"
        - "./geoip/:/src/geoip/"
      web:
        image: nginx
        ports: 
        - "8080:80"
        volumes: 
        - "./html/:/usr/share/nginx/html/"

    goaccess 配置文件

    data/goaccess.conf

    geoip-database /src/geoip/GeoLiteCity.dat
    log-format COMBINED
    real-time-html true
    log-file /srv/logs/access.log
    output /srv/report/index.html

    geoip 下载地址

    http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

    启动&&测试

    • copy log 文件

      就是一个简单的nginx access log

    • 启动

    docker-compose up -d
    • 效果


    说明

    goaccess 还是挺方便的,可以实时的进行一些访问指标的获取,同时docker 镜像我已经推送官方仓库了 dalongrong/goaccess-geo

    参考资料

    https://github.com/rongfengliang/goaccess-geoip-docker-compose-demo
    https://goaccess.io/

  • 相关阅读:
    随机读取记录
    js 抓取Google词库内容(仅供学习)
    分组统查询
    计时执行后台方法2
    js 调用WinForm角本
    vs2005 确保已安装文件类型(*.*)错误
    原创:SQL Server 数据库附加分离类
    Ajax Js倒计时执行后台方法
    空间前方交会和空间后方交会的区别
    cesium支持的3d模型格式
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10683907.html
Copyright © 2011-2022 走看看