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/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-04-10 elixir 几种安装方式
2018-04-10 一张elixir生产环境部署的图
2017-04-10 基于jquery 的ajax 文件下载
2014-04-10 无法对 数据库'XXXXX' 执行 删除,因为它正用于复制