NixVis 開源輕量級 Nginx 日志分析工具

NixVis

NixVis 是一款基于 Go 語言開發的、開源輕量級 Nginx 日志分析工具,專為自部署場景設計。它提供直觀的數據可視化和全面的統計分析功能,幫助您實時監控網站流量、訪問來源和地理分布等關鍵指標,無需復雜配置即可快速部署使用。

  • 演示地址:nixvis.beyondxin
  • 項目源碼:BeyondXinXin/nixvis

在這里插入圖片描述

功能特點

  • 全面訪問指標:實時統計獨立訪客數 (UV)、頁面瀏覽量 (PV) 和流量數據
  • 地理位置分布:展示國內和全球訪問來源的可視化地圖
  • 詳細訪問排名:提供 URL、引薦來源、瀏覽器、操作系統和設備類型的訪問排名
  • 時間序列分析:支持按小時和按天查看訪問趨勢
  • 多站點支持:可同時監控多個網站的訪問數據
  • 增量日志解析:自動掃描 Nginx 日志文件,解析并存儲最新數據
  • 高性能查詢:存儲使用輕量級 SQLite,結合多級緩存策略實現快速響應
  • 嵌入式資源:前端資源和IP庫內嵌于可執行文件中,無需額外部署靜態文件

快速開始

  1. 下載最新版本的 NixVis
wget https://github.com/beyondxinxin/nixvis/releases/latest/download/nixvis
chmod +x nixvis
  1. 生成配置文件
./nixvis -gen-config

執行后將在當前目錄生成 nixvis_config.json 配置文件。

  1. 編輯配置文件 nixvis_config.json,添加您的網站信息和日志路徑
{
"system": {"logDestination": "file"
},
"server": {"Port": ":8088"
},
"websites": [{"name": "我的博客","logPath": "/var/log/nginx/blog.log"}
]
}
  1. 啟動 NixVis 服務
./nixvis
  1. 訪問 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

技術棧

  • 后端: Go語言 (Gin框架、ip2region地理位置查詢)
  • 前端: 原生HTML5/CSS3/JavaScript (ECharts地圖可視化、Chart.js圖表)

許可證

NixVis 使用 MIT 許可證開源發布。詳情請查看 LICENSE 文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/75974.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/75974.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/75974.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

黑盒測試的等價類劃分法(輸入數據劃分為有效的等價類和無效的等價類)

重點: 有效等價和單個無效等價各取1個即可 1、正向用例:一條盡可能覆蓋多條2、逆向用例:每一條數據,都是一條單獨用例。 步驟: 1、明確需求 2、確定有效和無效等價 3、根據有效和無效造數據編寫用例 3、適用場景 針對:需要有大量數據測試輸入, …

Linux Mem -- 通過reserved-memory縮減內存

目錄 1. reserved-memory縮減內存 2. 為什么要通過2段512GB預留內存實現該縮減呢? 3. reserved-momery中的no-map屬性 4. 預留的的內存是否會被統計到系統MemTotal中? 本文是解決具體的一些思考總結,和Linux內核的reserved-memory機制相關…

多線程—synchronized原理

上篇文章: 多線程—鎖策略https://blog.csdn.net/sniper_fandc/article/details/146508232?fromshareblogdetail&sharetypeblogdetail&sharerId146508232&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 目錄 1 synchronized的鎖…

AWS混合云部署實戰:打造企業級數字化轉型的“黃金架構”

引言 “上云是必然,但全部上云未必是必然。”在數字化轉型的深水區,企業面臨的核心矛盾日益凸顯:如何在享受公有云敏捷性的同時,滿足數據主權、低延遲和遺留系統兼容的剛性需求? AWS混合云憑借“云上云下一張網”的獨…

進程模型5-0號進程

內核版本架構作者GitHubCSDNLinux-3.0.1armv7-ALux1206 0號進程的作用 在 Linux 中除了 init_task 0號進程,所有的線/進程都是通過 do_fork 函數復制父線/進程創建得到,因為 0號進程產生時沒有任何進程可以參照,只能通過靜態方式構造進程描述…

計算機二級考前急救(Word篇)

重點題(20套,標黃為精選10套):4,15,17,19,21,24,25,27,36,40,12,18,20,22&…

constant(safe-area-inset-bottom)和env(safe-area-inset-bottom)在uniapp中的使用方法解析

在微信小程序中,padding-bottom: constant(safe-area-inset-bottom); 和 padding-bottom: env(safe-area-inset-bottom); 這兩個 CSS 屬性用于處理 iPhone X 及更高版本設備的安全區域(safe area)。這些設備的底部有一個“Home Indicator”&a…

十二、Cluster集群

目錄 一、集群簡介1、現狀問題2、集群作用 二、集群結構設計1、集群存儲設2、消息通信設計 三、Cluster集群三主三從結構搭建1、redis.conf配置文件可配置項2、配置集群3、鏈接集群4、命令客戶端連接集群并使用 四、集群擴容1、添加節點2、槽位分配3、添加從節點 五、集群縮容1…

Java基礎 3.29

1.數組的相關注意事項 錯誤示范一 String strs[] new String[2]{"a", "b"}; 正確示范一 String strs[] new String[]{"a", "b"}; 讓JVM自己判斷有幾個數據,無需再其中寫明有幾組數據 錯誤示范二 String strs[] new…

從入門到精通:HTML 項目實戰中的學習進度(一)

一、基礎夯實階段 1.1 HTML 文檔結構與核心語法 在 HTML5 的世界里&#xff0c;構建一個文檔就像是搭建一座大廈&#xff0c;堅實的基礎至關重要。HTML5 文檔的基礎框架以<!DOCTYPE html>聲明開場&#xff0c;這就好比是給瀏覽器下達的一份 “指令書”&#xff0c;明確…

FFmpeg —— 實時繪制音頻波形圖(附源碼)

?? FFmpeg 相關音視頻技術、疑難雜癥文章合集(掌握后可自封大俠 ?_?)(記得收藏,持續更新中…) 實時繪制音頻波形圖 步驟 ????? ??????????FFmpeg打開媒體文件,讀取每一包數據,將音頻數據包進行緩沖,一包一包處理音頻緩沖,對音頻緩沖包進行解碼,讀…

大數據學習(88)-zookeeper實現的高可用(HA)

&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4dd;支持一…

基于MFC按鈕邏輯

void CSUCCES1Dlg::SetDlgItemState()//IDC_BTN_INIT初始化按鈕 { GigeState state = GigeState::ARV_NONE;//GigeState是一個枚舉類型,stat狀態為ARV_NONE int idx = ((CListBox*)GetDlgItem(IDC_LIST_GIGE))->GetCurSel();//GetDlgItem 是 MFC 框架提供的一個成員…

EF Core 樂觀并發控制(并發令牌)

文章目錄 前言一、樂觀并發的核心思想二、實現方法1&#xff09;使用并發令牌&#xff08;Concurrency Token&#xff09;2&#xff09;處理并發沖突 三、工作原理四、適用場景五、與悲觀并發的對比六、最佳實踐總結 前言 Entity Framework (EF) Core 默認支持 樂觀并發控制&a…

解決 FFmpeg 使用 C/C++ 接口時,解碼沒有 shell 快的問題(使用多線程)

一、問題 硬件設備為香橙派 5Plus&#xff0c;最近需要使用硬件視頻解碼來加速 YOLO 的檢測&#xff0c;shell 窗口的FFmpeg已經調通&#xff0c;詳見文章&#xff1a; 編譯支持 RKmpp 和 RGA 的 ffmpeg 源碼_rk3588 ffmpeg mpp-CSDN博客https://blog.csdn.net/plmm__/article…

工業控制網絡中常用的通信協議

1. 現場總線協議 Modbus 概述&#xff1a;Modbus 是最廣泛使用的工業協議之一&#xff0c;主要用于串行通信&#xff0c;支持主/從架構&#xff0c;通過 RS-232 或 RS-485 傳輸&#xff0c;也有基于以太網的 Modbus TCP 版本。特點&#xff1a;簡單易用&#xff0c;易于實現&am…

【Mac】npm error Error: EACCES: permission denied, mkdir‘/Users/...

問題描述&#xff1a;Mac電腦中的 vscode 下載依賴的時候提示沒有權限&#xff1a; 故障分析 首先賬號是有權限的&#xff0c;電腦就建了一個賬號是管理員&#xff1b;在桌面用shell直接執行命令npm init 命令可以執行成功&#xff0c;那么問題就出在vscodes上面了&#xff0…

Ruby 簡介

Ruby 簡介 引言 Ruby 是一種廣泛使用的動態、開源的編程語言,自 1995 年由日本程序員 Yukihiro Matsumoto(通稱 Matz)設計以來,它以其優雅的語法、強大的庫支持和跨平臺特性贏得了全球開發者的青睞。本文將詳細介紹 Ruby 的起源、特點、應用領域以及它在現代軟件開發中的…

[Qt5] QMetaObject::invokeMethod使用

&#x1f4e2;博客主頁&#xff1a;https://loewen.blog.csdn.net&#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01;&#x1f4e2;本文由 丶布布原創&#xff0c;首發于 CSDN&#xff0c;轉載注明出處&#x1f649;&#x1f4e2;現…

Windows10清理機器大全集

Windows10清理機器大全集 寫在前面先這么個標題&#xff0c;逐漸補充禁止Update移除Microsoft Compatibility Telemetrywindows-defender-remover其它 寫在前面 看到標題&#xff0c;讀者已經就吐了。 我是說&#xff0c;我非常認可: IT從業者&#xff0c;如果你銀子比較充足&…