【SigNoz部署安裝】Ubuntu環境部署SigNoz:Docker容器化監控的全流程指南

文章目錄

    • 前言
    • 1.關于SigNoz
    • 2.本地部署SigNoz
    • 3.SigNoz簡單使用
    • 4. 安裝內網穿透
    • 5.配置SigNoz公網地址
    • 6. 配置固定公網地址

前言

在分布式架構主導的現代運維體系中,系統性能監控正面臨范式變革的關鍵轉折。當微服務架構遭遇服務雪崩、無服務器架構出現冷啟動延遲等復雜場景時,傳統監控方案暴露出致命缺陷:其一是數據孤島導致的全景視圖缺失,其二是異構指標體系間缺乏語義關聯性,其三是故障定位過程的低效性。盡管商業APM平臺提供了看似完整的解決方案,但其基于數據量的階梯式計費模式,正在成為企業數字化轉型的隱性成本增長點。

作為應對這一行業困境的開源利器,SigNoz正通過其創新的觀測架構重塑監控體系。該平臺通過統一的追蹤數據聚合、多維指標采集和結構化日志分析,構建起覆蓋全鏈路的性能觀測體系。其開源特性不僅消除了授權成本約束,更通過模塊化設計實現了技術棧的靈活適配。在Ubuntu系統中通過Docker容器化部署SigNoz,既能保證環境一致性,又可利用容器編排技術實現彈性擴展,這種組合方案正在成為現代運維體系的標準實踐。

5448cbd1ec93a68e8e5e5640aaaca29

1.關于SigNoz

SigNoz是一個開源的應用程序性能管理(APM)和可觀察性平臺,它提供了全面的監控、跟蹤和分析功能,以幫助開發人員監控并解決應用程序中的問題。

主要特點:

  1. 開源免費:SigNoz 完全開源,你可以免費使用它,無需擔心合規性或安全性問題。
  2. 用戶界面友好:SigNoz 的用戶界面設計得非常流暢和先進,即使你是新手也能輕松上手。
  3. 強大的過濾和聚合選項:無論是跟蹤數據還是指標,SigNoz 都提供了強大的過濾和聚合功能,讓你能快速找到問題的根源。
  4. 增強的靈活性和隱私:由于 SigNoz 是開源的,你可以自行托管,完全控制自己的數據,無需擔心隱私法規。
  5. 無縫整合日志、指標和追蹤:SigNoz 將 Log、Metrics 和 Tracing 無縫整合在一起,提供了一個統一的入口,使用起來非常便捷。

使用場景

  • 微服務架構監控:輕松監控多個微服務的性能,快速定位問題。
  • 無服務器架構監控:在無服務器環境中,SigNoz 能幫助你監控各個函數的運行情況。
  • 日志分析:收集和分析應用日志,發現潛在的問題。
  • 性能優化:通過詳細的性能指標,優化應用性能,提升用戶體驗。

2.本地部署SigNoz

本例使用Docker進行部署,如果沒有安裝Docker,可以查看這篇教程進行安裝:《Docker安裝教程——Linux、Windows、MacOS》

首先打開終端輸入以下命令將 SigNoz 存儲庫和“cd”克隆到目錄中。

git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/

image-20250120173703479

接下來我們輸入這行命令運行腳本

./install.sh

image-20250120173823671

他會讓你輸入郵箱,直接輸入就可以了。

image-20250120173931361

接著我們打開瀏覽器輸入localhost:3301,就能看到SigNoz的界面了!

image-20250120174026339

3.SigNoz簡單使用

打開界面后我們先創建一個 管理員賬戶,也可以不選擇了解signoz新功能或匿名。

image-20250120174213794

應用程序性能監控

使用 SigNoz APM 監控您的應用程序和服務。它帶有關鍵應用程序指標(如 p99 延遲、錯誤率、Apdex 和每秒操作數)的開箱即用圖表。

b00b8b2ce11c912e60666e561a4819a

日志管理

SigNoz 可以用作集中式日志管理解決方案。我們使用ClickHouse(被Uber和Cloudflare等公司使用)作為數據存儲,這是一種極其快速且高度優化的日志數據存儲。使用快速過濾器和強大的查詢生成器即時搜索您的所有日志。

e88a138a1a8487063deb3e779aa654b

分布式跟蹤

分布式跟蹤對于解決微服務應用程序中的問題至關重要。在 OpenTelemetry 的支持下,SigNoz 中的分布式跟蹤可以幫助您跨服務跟蹤用戶請求,從而幫助您識別性能瓶頸。

在 Flamegraphs 和 Gantt Charts 的幫助下,在詳細分類中查看用戶請求。單擊任何范圍可查看精美表示的整個跟蹤,這將幫助您了解請求流中實際發生問題的位置。

14e522e005dbb3f24ca0bbfa7e0532b

指標和儀表板

從您的基礎設施或應用程序中提取指標,并創建自定義控制面板來監控它們。使用各種面板類型(如餅圖、時間序列、條形圖等)創建適合您需求的可視化。

使用易于使用的指標查詢生成器快速創建對指標數據的查詢。添加多個查詢并將這些查詢與公式組合在一起,以快速創建真正復雜的查詢。

91df2179d3215e8c687382fa8f32667

警報

使用 SigNoz 中的警報,在您的應用程序中發生任何異常情況時收到通知。您可以針對任何類型的遙測信號(日志、指標、跟蹤)設置警報,創建閾值并設置通知渠道以接收通知。警報歷史記錄和異常檢測等高級功能可以幫助您創建更智能的警報。

SigNoz 中的警報可幫助您主動識別問題,以便您可以在問題到達客戶之前解決它們。

57cd420330784a0686728e71677c1da

異常監控

在 Python、Java、Ruby 和 Javascript 中自動監控異常。對于其他語言,只需輸入幾行代碼即可開始監控異常。

請參閱應用程序捕獲的所有異常的詳細堆棧跟蹤。您還可以登錄自定義屬性,以向異常添加更多上下文。例如,您可以添加屬性來識別發生異常的用戶。

bd8a05fb2ab1c55aab3d295f1f0354f

更多使用功能詳情查看SigNoz作者Github主頁:SigNoz/signoz:SigNoz 是 OpenTelemetry 原生的開源可觀測性平臺,在單個應用程序中具有日志、跟蹤和指標。開源的DataDog、NewRelic等的替代品。 🔥 🖥 開源👉應用程序性能監控(APM)和可觀察性工具

4. 安裝內網穿透

不過我們目前只能在本地局域網內使用手機電腦等設備訪問剛剛使用docker部署的SigNoz,如果想讓異地好友、讓更多人也能使用在家中部署的SigNoz應該怎么辦呢?很簡單,只要安裝一個cpolar內網穿透工具就能輕松實現遠程訪問內網主機中部署的服務了,接下來介紹一下如何安裝cpolar內網穿透。

下面是安裝cpolar步驟:

Cpolar官網地址: https://www.cpolar.com

使用一鍵腳本安裝命令

sudo curl https://get.cpolar.sh | sh

img

安裝完成后,執行下方命令查看cpolar服務狀態:(如圖所示running即為正常啟動)

sudo systemctl status cpolar

img

Cpolar安裝和成功啟動服務后,在瀏覽器上輸入ubuntu主機IP加9200端口即:【http://localhost:9200】訪問Cpolar管理界面,使用Cpolar官網注冊的賬號登錄,登錄后即可看到cpolar web 配置界面,接下來在web 界面配置即可:

image-20240801133735424

5.配置SigNoz公網地址

登錄cpolar web UI管理界面后,點擊左側儀表盤的隧道管理——創建隧道:

  • 隧道名稱:可自定義,本例使用了:SigNoz注意不要與已有的隧道名稱重復
  • 協議:http
  • 本地地址:3301
  • 域名類型:隨機域名
  • 地區:選擇China Top

image-20250120175310929

創建成功后,打開左側在線隧道列表,可以看到剛剛通過創建隧道生成了兩個公網地址,接下來就可以在其他電腦(異地)上,使用任意一個地址在瀏覽器中訪問即可。

image-20250120175348103

如下圖所示,成功實現使用公網地址異地遠程訪問本地部署的SigNoz了。

image-20250120175441327

使用賬號登錄即可正常使用了:

2c15dadae5a971aead1c91db13c9036

小結

為了方便演示,我們在上邊的操作過程中使用cpolar生成的HTTP公網地址隧道,其公網地址是隨機生成的。這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址是隨機生成,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

如果有長期使用SigNoz,或者異地訪問與使用其他本地部署的服務的需求,但又不想每天重新配置公網地址,還想讓公網地址好看又好記并體驗更多功能與更快的帶寬,那我推薦大家選擇使用固定的二級子域名方式來配置公網地址。

6. 配置固定公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化。

點擊左側的預留,選擇保留二級子域名,地區選擇China VIP,然后設置一個二級子域名名稱,填寫備注信息,點擊保留。

image-20250121100616308
保留成功后復制保留的二級子域名地址:signoz

登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道SigNoz,點擊右側的編輯

image-20250121100715153

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名
  • 地區: China VIP

image-20250121100747265

更新完成后,打開在線隧道列表,此時可以看到隨機的公網地址已經發生變化,地址名稱也變成了保留和固定的二級子域名名稱。

image-20250121100902061

本次技術實踐完整驗證了SigNoz在Ubuntu環境中的部署可行性,并通過內網穿透技術突破了傳統網絡架構的訪問限制。在Docker容器化部署完成后,通過配置持久化域名解析方案,為監控平臺創建了具備兩個核心優勢的穩定訪問入口:其一,通過域名綁定實現的長期有效訪問地址,徹底規避了動態IP變更導致的連接中斷風險;其二,基于標準HTTP協議的加密訪問通道,既保證了數據傳輸的安全性,又實現了跨地域的實時監控數據訪問。

本方案的價值體現在三個層面:首先是容器化部署帶來的環境可復制性和跨平臺移植能力;其次是通過穿透技術構建的全球可達監控架構,解決了傳統內網限制下的遠程訪問難題;最后是開源架構在功能完備性與成本控制間的平衡優勢。建議讀者按照以下路徑驗證方案:1)在沙箱環境中復現完整部署流程;2)測試跨運營商網絡的訪問穩定性;3)探索與GitOps工具鏈的集成方案。對于可能出現的容器網絡策略沖突或服務注冊失敗等典型問題,可通過分層日志分析定位根因,必要時可結合容器鏡像的版本回滾機制進行快速修復。

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

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

相關文章

NV298NV312美光固態閃存NW639NW640

美光固態閃存技術全景解析:從NV298到NW640的深度探索近年來,美光科技憑借其在3D NAND閃存技術上的持續突破,推出了多款備受市場關注的固態硬盤產品。本文將從技術評測、產品對比、市場趨勢、用戶反饋及應用場景等多個維度,深入剖析…

2025.07.04【服務器】|使用萬兆網卡提升服務器間互聯速度,實現快速數據傳輸

文章目錄1. **萬兆網卡概述**2. **為什么選擇萬兆網卡**3. **萬兆網卡配置與安裝**3.1 **安裝網卡**3.2 **安裝驅動程序**3.3 **檢查網卡狀態**4. **配置網絡接口**4.1 **Linux 系統配置**4.2 **Windows 系統配置**5. **優化性能**5.1 **使用多線程傳輸**5.2 **開啟 TCP/UDP 窗…

光伏發電量精準估算,提升投資效益

在光伏產業規模化發展進程中,準確估算光伏發電量是提升項目投資效益的關鍵環節。科學的發電量預測不僅能為項目可行性研究提供依據,更能在電站全生命周期內優化運營策略,實現投資回報最大化。基于多維度數據整合與智能算法構建的精準預測體系…

Linux的互斥鎖、Linux的POSIX信號量(二值、計數)、RTOS的二值信號量

鎖和信號量最大的區別就是:鎖嚴格要求 “誰占用誰釋放”,而信號量允許 “一個任務 / 線程釋放,另一個任務 / 線程獲取”。 特性互斥鎖(Mutex)POSIX 信號量(Semaphore)初始狀態初始為 “鎖定”(PTHREAD_MUTEX_INITIALIZER),需顯式獲取(pthread_mutex_lock)。初始值可…

基于Java+SpringBoot 協同過濾算法私人診所管理系統

源碼編號:S607源碼名稱:基于SpringBoot5的協同過濾算法的私人診所管理系統用戶類型:雙角色,患者、醫生、管理員數據庫表數量:15 張表主要技術:Java、Vue、ElementUl 、SpringBoot、Maven運行環境&#xff1…

什么是DINO?

DINO 是一個由 Meta AI (當時的 Facebook AI) 在 2021 年提出的自監督學習框架,其全稱是 “self-DIstillation with NO labels”,直譯為“無標簽的自我蒸餾”。這個名字精準地概括了它的核心思想。 DINO 的出現是一個里程碑,因為它首次有力地…

如何在 Android Framework層面控制高通(Qualcomm)芯片的 CPU 和 GPU。

如何在 Android Framework層面控制高通(Qualcomm)芯片的 CPU 和 GPU。 參考:https://blog.csdn.net/YoungHong1992/article/details/117047839?utm_source%20%20uc_fansmsg 作為一名 Framework 開發者,您擁有系統級的權限&#…

程序員在線接單

十年Java全棧工程師在線接單Java程序代做,兼職接單,系統代做,二次開發,網站開發部署,項目合作,商業項目承包 全棧開發,支持定制各種管理系統、小程序 商用或個人使用等項目都接 服務二: Java調試…

Python 異步爬蟲(aiohttp)高效抓取新聞數據

一、異步爬蟲的優勢 在傳統的同步爬蟲中,爬蟲在發送請求后會阻塞等待服務器響應,直到收到響應后才會繼續執行后續操作。這種模式在面對大量請求時,會導致大量的時間浪費在等待響應上,爬取效率較低。而異步爬蟲則等待可以在服務器…

Jenkins Pipeline(二)

1.Pipeline 變量 在 Jenkins 管道(Pipeline)中,變量是一種非常有用的功能,它們可以幫助你在構建過程中存儲和傳遞數據。Jenkins 管道支持多種方式來定義和使用變量,包括環境變量、腳本變量以及全局變量。 1.2 腳本變…

springsecurity02

提前打開Redis1)通過內置的用戶名和密碼登錄spring-boot-starter-security.jar2)使用自定義用戶名和密碼登錄UserDetailService自定義類實現UserDetailService接口,重寫loadUserByUsername方法class UserDetailServiceImpl implements UserDe…

Apache組件遭大規模攻擊:Tomcat與Camel高危RCE漏洞引發數千次利用嘗試

漏洞態勢分析帕洛阿爾托網絡公司Unit 42團隊最新研究報告顯示,針對Apache Tomcat和Apache Camel關鍵漏洞的網絡攻擊正在全球激增。2025年3月披露的這三個遠程代碼執行(RCE, Remote Code Execution)漏洞——CVE-2025-24813(Tomcat&…

Odoo 中國特色高級工作流審批模塊研發

本文旨在為基于Odoo 18平臺開發一款符合中國用戶習慣的、功能強大的通用工作流審批模塊提供一份全面的技術實現與產品設計方案。該模塊的核心特性包括:為最終用戶設計的圖形化流程設計器、對任意Odoo模型的普適性、復雜的審批節點邏輯(如會簽、條件分支、…

unplugin-vue-components 最佳實踐手冊

🎨 unplugin-vue-components 最佳實踐手冊 整理不易,收藏、點贊、關注支持下!本文詳細介紹了 unplugin-vue-components 插件的作用、配置方法、常用場景及與 unplugin-auto-import 配合使用的實戰技巧,特別適合 Vue 3 Vite 項目。…

? Java 學習日志 01

Java 運行機制: 原文件>編譯器>字節碼(class后綴)>JVM虛擬機>操作系統既有編譯的過程也有解釋的過程。JVM:Java Virture Machine/執行字節碼的虛擬機,是實現跨平臺——Java核心機制的核心。 JRE&…

基于Flutter的web登錄設計

基于Flutter的web登錄設計 1. 概述 本文檔詳細介紹了基于Flutter Web的智能家居系統登錄模塊的設計與實現。登錄模塊作為系統的入口,不僅提供了用戶身份驗證功能,還包括注冊新用戶的能力,確保系統安全性的同時提供良好的用戶體驗。 本文檔…

Maven繼承:多模塊項目高效管理秘笈

Maven繼承是Maven項目管理中的核心機制,允許子模塊共享并統一管理父模塊的配置信息(尤其是依賴關系),其核心原理與Java中的類繼承類似。以下是關鍵要點解析:一、核心概念與作用消除配置冗余 多個子模塊共享相同依賴&am…

關于系統無法找到 arm-linux-gcc 命令,這表明你的環境中尚未安裝 ARM 交叉編譯工具鏈。以下是詳細的解決方案:(DIY機器人工房)

1. 錯誤原因分析 錯誤信息:無法將“arm-linux-gcc”項識別為 cmdlet/函數/程序 這說明 Windows 或 Cygwin 環境中沒有安裝 ARM 交叉編譯工具,或者工具路徑未添加到系統 PATH 中。當前環境: 你之前使用的是 Cygwin 環境下的 x86_64 架構 GCC&…

redis一篇入門

一、Redis 安裝 Linux 系統安裝通過包管理器安裝 (以 Ubuntu 為例): sudo apt update sudo apt install redis-server從源碼編譯安裝: wget https://download.redis.io/redis-stable.tar.gz tar -xzvf redis-stable.tar.gz cd redis-stable make sudo make installWindows 安裝…

【JAVAFX】webview導入本地html并傳入參數

java側String num"234234";URL url1 getClass().getResource("/html/imGroupVar.html");webview.getEngine().load(url1.toExternalForm() "?cc" num);本地html <!DOCTYPE html> <html lang"en"> <head><met…