Nginx 网站日志分析工具
NixVis 是一款基于 Go 语言开发的、开源轻量级 Nginx 日志分析工具,专为自部署场景设计。它提供直观的数据可视化和全面的统计分析功能,帮助您实时监控网站流量、访问来源和地理分布等关键指标,无需复杂配置即可快速部署使用。
演示地址 nixvis.beyondxin
快速开始
- 下载最新版本的 NixVis
wget https://github.com/beyondxinxin/nixvis/releases/download/latest/nixvis
chmod +x nixvis
- 生成配置文件
./nixvis -gen-config
执行后将在当前目录生成 nixvis_config.json 配置文件。
- 编辑配置文件 nixvis_config.json,添加您的网站信息和日志路径
支持自动切割的日志路径(详见 说明)
{
"websites": [
{
"name": "示例网站1",
"logPath": "./weblog_eg/blog.beyondxin.top.log"
},
{
"name": "示例网站2",
"logPath": "/var/log/nginx/blog.log"
}
],
"system": {
"logDestination": "file",
"taskInterval": "5m"
},
"server": {
"Port": ":8088"
},
"pvFilter": {
"statusCodeInclude": [
200
],
"excludePatterns": [
"favicon.ico$",
"robots.txt$",
"sitemap.xml$",
"\\.(?:js|css|jpg|jpeg|png|gif|svg|webp|woff|woff2|ttf|eot|ico)$",
"^/api/",
"^/ajax/",
"^/health$",
"^/_(?:nuxt|next)/",
"rss.xml$",
"feed.xml$",
"atom.xml$"
]
}
}
- 启动 NixVis 服务
./nixvis
- 访问 Web 界面
http://localhost:8088
从源码编译
如果您想从源码编译 NixVis,请按照以下步骤操作:
# 克隆项目仓库
git clone https://github.com/BeyondXinXin/nixvis.git
cd nixvis
# 编译项目
go mod tidy
go build -o nixvis ./cmd/nixvis/main.go
# 或使用编译脚本
# bash package.sh
docker部署
- 下载 docker-compose
wget https://github.com/beyondxinxin/nixvis/releases/download/docker/docker-compose.yml
wget https://github.com/beyondxinxin/nixvis/releases/download/docker/nixvis_config.json
-
修改 nixvis_config.json 添加您的网站信息和日志路径
-
修改 docker-compose.yml 添加文件挂载(nixvis_config.json、日志文件)
如需分析多个日志文件,可以考虑将日志目录整体挂载(如 /var/log/nginx:/var/log/nginx:ro)。
version: '3'
services:
nixvis:
image: ${{ secrets.DOCKERHUB_USERNAME }}/nixvis:latest
ports:
- "8088:8088"
volumes:
- ./nixvis_config.json:/app/nixvis_config.json:ro
- /var/log/nginx/blog.log:/var/log/nginx/blog.log:ro
- /etc/localtime:/etc/localtime:ro
- 启动
docker compose up -d
- 访问 Web 界面
http://localhost:8088