找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1123

积分

0

好友

155

主题
发表于 前天 17:02 | 查看: 4| 回复: 0

NixVis 是一款专为自部署场景设计的轻量级 Nginx 日志分析工具,采用 Go 语言 开发并开源。它提供直观的数据可视化和全面的统计分析功能,帮助您实时监控网站流量、访问来源和地理分布等关键指标,无需复杂配置即可快速部署使用。

功能特点

  • 全面的访问指标统计:实时统计独立访客数 (UV)、页面浏览量 (PV) 和流量数据。
  • 地理位置分布展示:通过可视化地图清晰展示国内及全球的访问来源。
  • 详细的访问排名:提供 URL、引荐来源、浏览器、操作系统和设备类型的详细访问排名。
  • 灵活的时间序列分析:支持按小时和按天查看访问趋势变化。
  • 多站点支持:可同时监控多个网站的访问数据。
  • 增量日志解析:自动扫描 Nginx 日志文件,仅解析并存储最新数据。
  • 高性能查询:采用轻量级 SQLite 数据库,结合多级缓存策略,实现快速响应。
  • 嵌入式资源:前端资源和 IP 地理信息库内嵌于可执行文件中,无需额外部署静态文件,开箱即用。

图片

图片

图片

快速开始

1. 二进制文件部署

下载并启动

# 下载最新版本的 NixVis (请替换为实际下载链接)
wget [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$"
    ]
  }
}

说明:配置文件支持通配符,可匹配自动切割的日志文件(如 access.log*)。

启动服务并访问

./nixvis

启动后,访问 Web 界面 http://localhost:8088 即可查看分析结果。

2. 从源码编译

如果您希望从源码编译,可以按照以下步骤操作:

# 克隆项目仓库
git clone [项目仓库地址]
cd nixvis

# 编译项目
go mod tidy
go build -o nixvis ./cmd/nixvis/main.go
# 也可使用项目提供的编译脚本
# bash package.sh
3. Docker部署

使用 Docker 可以更便捷地部署 NixVis。

下载编排文件

wget [Docker Compose文件地址]/docker/docker-compose.yml
wget [Docker Compose文件地址]/docker/nixvis_config.json

修改配置文件
修改下载的 nixvis_config.json,添加您的网站和日志路径。
修改 docker-compose.yml 文件,挂载配置文件和日志文件。

version: '3'
services:
  nixvis:
    image: 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

提示:如需分析同一目录下多个日志文件,可以考虑挂载整个日志目录(如 /var/log/nginx:/var/log/nginx:ro)。

启动服务

docker compose up -d

启动后,同样访问 http://localhost:8088 即可。

技术栈

  • 后端:Go (Gin框架)、ip2region (IP地理位置查询)
  • 前端:原生 HTML5/CSS3/JavaScript、ECharts (数据可视化)、Chart.js (图表绘制)



上一篇:在线工具精选:智能网站分析、说明书查询与打印优化工具推荐
下一篇:CentOS 9 编译 ZLMediaKit 全流程详解:依赖库安装与编译指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 01:30 , Processed in 0.107553 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表