SigNoz分布式追蹤新體驗:cpolar實現遠程微服務監控

前言

SigNoz是一款開源的應用性能監控工具,專為微服務架構設計,集成了指標、追蹤和日志分析功能。它能夠全面監控分布式系統的性能,幫助開發團隊快速定位問題根源。SigNoz支持OpenTelemetry協議,可以無縫集成各種編程語言和框架,提供從前端到后端的全鏈路追蹤。無論是監控API響應時間、數據庫查詢效率,還是分析分布式事務,SigNoz都能提供深入的洞察,讓微服務架構的復雜性變得可控。

在使用SigNoz進行微服務監控的過程中,我發現其最大優勢在于數據的關聯性和可視化呈現。它能夠將指標、追蹤和日志數據有機結合,提供從問題發現到根源定位的完整路徑。建議用戶充分利用SigNoz的儀表盤定制功能,根據業務需求創建關鍵指標視圖;同時,合理設置告警閾值,確保能夠及時發現異常。此外,掌握高級查詢和過濾技巧,可以快速從海量數據中提取有價值的信息,提高問題排查效率。對于分布式系統,理解服務間的依賴關系圖和請求流至關重要,這正是SigNoz的強項所在。

盡管SigNoz功能強大,但作為內部部署的監控系統,它面臨著遠程訪問的挑戰。開發和運維人員通常只能在公司局域網內訪問監控界面,這對于遠程辦公或異地故障處理來說極為不便。例如,當系統在非工作時間出現異常時,運維人員需要趕到辦公室才能查看詳細監控數據,這種延遲可能導致故障影響擴大。而分布式團隊之間也無法共享監控視圖,影響協作效率和問題解決速度。

通過與cpolar內網穿透工具的結合,SigNoz實現了安全便捷的遠程訪問。只需在部署SigNoz的服務器上配置cpolar,即可生成加密的公網訪問地址。開發和運維人員無論身處何地,都能通過這個地址訪問完整的監控界面,查看實時數據和歷史趨勢。這種解決方案不僅解決了遠程辦公的痛點,還為全球分布式團隊提供了統一的監控視角。例如,當美國的系統出現問題時,中國的工程師可以立即通過cpolar訪問SigNoz,協助排查問題,實現24小時不間斷的技術支持。

本文介紹如何在Ubuntu系統上使用 Docker 快速部署一款強大的應用性能監控工具SigNoz,并結合cpolar內網穿透工具輕松實現異地遠程使用。

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小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化。

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】

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

image-20250121100616308

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

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

image-20250121100715153

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

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

image-20250121100747265

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

image-20250121100902061

最后,我們使用固定的公網地址訪問SigNoz可以看到訪問成功,現在一個永久不會變化的網址就設置好了。

現在,你可以通過公網URL與任何人分享你的SigNoz了!無論是團隊成員還是朋友,都可以輕松訪問你精心管理的SigNoz。以上就是如何在Linux Ubuntu系統Docker本地安裝SigNoz并實現異地遠程訪問的全部過程,怎么樣?是不是覺得整個過程既簡單又有趣呢?

如果你還在猶豫是否要注冊使用cpolar,不妨試試它的免費版吧。相信你會很快發現它帶來的便利和強大功能。如果你覺得免費版還不夠滿足需求,cpolar還提供了多種付費計劃,讓你的內網穿透體驗更加流暢和穩定。

趕緊去試試吧,說不定還能發現更多好玩的功能哦!如果你在使用過程中遇到任何問題,歡迎隨時留言交流,我會盡力為大家解答的!希望這篇教程能幫你開啟文檔管理的新篇章,讓我們一起成為更加高效、快樂的技術人吧!

SigNoz與cpolar的協同應用,為現代微服務架構的監控提供了一種靈活高效的解決方案。它既保留了SigNoz強大的可觀測性能力,又通過創新的網絡技術打破了地域限制,實現了真正的全球化監控。在這個微服務架構日益普及、團隊分布越來越廣的時代,這樣的技術組合無疑為保障系統穩定性、提高開發效率提供了有力支持。

cpolar官網-安全的內網穿透工具 | 無需公網ip | 遠程訪問 | 搭建網站

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

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

相關文章

python編程原子化多智能體綜合編程應用(下)

上述代碼實現了基于Mesa框架的診斷智能體類,包含以下核心功能: 模塊化設計:通過類屬性分離數據與行為,支持不同專科智能體的擴展 狀態管理:實現idle/processing/error等狀態轉換,支持任務調度 診斷推理:集成機器學習模型,支持癥狀提取與多分類診斷 錯誤處理:包含模型加…

QT M/V架構開發實戰:QSqlQueryModel/ QSqlTableModel/ QSqlRelationalTableModel介紹

目錄[TOC](目錄)前言一、初步介紹二、QSqlQueryModel1.基礎定位2.特點3.核心接口4.典型用法5.優缺點三、QSqlTableModel1.基礎定位2.特點3.核心接口4.典型用法5.優缺點四、QSqlRelationalTableModel1.基礎定位2.特點3.核心接口4.典型用法 (示例:employees表有 dept_…

Terraform 從入門到實戰:歷史、原理、功能與阿里云/Azure 上手指南

前言:在云時代,企業的IT基礎設施早已從“幾臺服務器”演變為“橫跨多云的復雜網絡、計算、存儲集群”。但隨之而來的,是管理復雜度的爆炸式增長:開發環境和生產環境不一致、手動配置容易出錯、多云平臺操作方式各異、資源變更難以…

【計算機網絡 | 第10篇】信道復用技術

文章目錄信道復用技術:高效利用通信資源的智慧方案一、頻分復用(FDM):按頻率劃分的并行通道二、時分復用(TDM):按時間分割的輪流占用三、統計時分復用(STDM):…

安卓13_ROM修改定制化-----禁用 Android 導航按鍵的幾種操作

Android 設備的導航按鍵通常包括后退鍵(Back)、主頁鍵(Home)和最近鍵(Recents),這些按鍵位于屏幕底部或設備實體區域。禁用導航按鍵可以幫助在特定應用場景(如信息亭模式或兒童鎖模式)中限制用戶操作。安卓設備上禁用底部虛擬導航鍵(返回、主頁、多任務鍵)有多種方法…

通過S參數測量評估電感阻抗:第2部分

S21雙端口分流和雙端口串聯方法 T這是兩篇文章中的第二篇,專門討論使用網絡分析儀測量 S 參數進行電感阻抗評估主題。上一篇文章 [1] 描述了阻抗測量和計算S11使用單端口分流器、雙端口分流器和雙端口串聯方法的參數。本文專門介紹阻抗測量和計算S21使用雙端口分流…

[deepseek] C語言頭文件與匯編實現討論

我想詢問一種代碼實現方式,使用C語言,例如main.c包含了自己編寫的庫文件abc.h,我想問的是:一、abc.h中是否可以有實現函數的代碼;二、abc.h中的函數是否可以在另一個后綴為asm的匯編文件中實現?非常好&…

`.cursorrules` 與 `.cursorcontext`:Cursor AI 編程助手時代下的“雙軌配置”指南

.cursorrules 與 .cursorcontext:AI 編程助手時代下的“雙軌配置”指南關鍵詞:Cursor、AI 編程、上下文管理、開發規范、技術治理 適合讀者:前端 / 全棧工程師、技術負責人、AI 輔助編程實踐者1. 為什么又多了兩個“點”文件? 隨著…

XR 和 AI 在 Siggraph 2025 上主導圖形的未來,獲取gltf/glb格式

Meta 的 Boba 和 Tiramisu XR 耳機(來源:Meta) Siggraph 2025 今年重返不列顛哥倫比亞省溫哥華,慶祝《玩具總動員》誕生 30 周年和視頻游戲實時渲染 20 周年。雖然 Siggraph 需要時間來欣賞過去,但它更多的是展望未來…

在 Ubuntu 22.04 系統(CUDA 12.9)中,通過本地DEB 包安裝 cuDNN 9.13.0 的方法步驟

以下是在 Ubuntu 22.04 系統(CUDA 12.9)中,通過本地單個 DEB 包安裝 cuDNN 9.13.0 的完整步驟,核心包含 GPG 密鑰配置與包安裝驗證,確保每一步可執行。 一、安裝前核心檢查(必做) 確保系統已滿足基礎條件,避免安裝失敗: 驗證 CUDA 版本:打開終端執行命令,確認當前…

Element 中 upload 編輯回顯文件上傳信息技巧

文章目錄需求分析需求 upload 編輯狀態下回顯已上傳的文件信息 分析 添加fileList <el-uploadstyle"width: 100%"ref"uploadRef"class"upload-demo"action"/prod-api/jc/files/upload"multiple:limit"1":on-success&q…

php簡介(第一天打卡)

一.php簡介 1.什么是php&#xff1f; 1.1 Php 為什么叫這個名字&#xff1f; Personal home page 最開始用于個人主頁建站 后更名為 hypertext preprocessor 超文本預處理 1.2 php是屬于哪種語言&#xff1f; 后端語言 &#xff08;從開發角度分類&#xff09; 服務端語言…

Android 車聯網——車載儀表屏開發(二十六)

通常汽車啟動后需要快速顯示儀表,而車載娛樂系統所在的Android系統,啟動是比較耗時的,所以通常儀表系統會做在一個小型輕量化的系統內,從而達到快速啟動的效果,最終實現汽車一發動,就立刻能顯示出儀表必須顯示的各項內容。 一、儀表功能介紹 1、儀表的發展 機械儀表:通…

RL--RLHF--PPO--GRPO--DPO速通

參考視頻&#xff1a;1小時速通 - 從強化學習到RLHF - 簡介_嗶哩嗶哩_bilibili 強化學習RL RL的核心就是智能體Agent 與 環境Environment的交互。 狀態&#xff08;State&#xff0c;s&#xff09;&#xff1a;環境在某一時刻的描述&#xff0c;表示當前情境。動作&#xff0…

hardhat 項目目錄介紹

使用 npx hardhat init初始化一個 Hardhat 項目后&#xff0c;會生成一個結構清晰的目錄&#xff0c;每個部分都有其特定用途。下面是一個表格匯總了主要的目錄和文件及其作用&#xff0c;方便你快速了解&#xff1a;contracts/??存放項目的 ??Solidity 智能合約源代碼??…

9.11網編項目——UDP網絡聊天

服務器端#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <errno.h> #include <unistd.h> #include <25061head.h> #d…

第3節-使用表格數據-數據庫設計

摘要: 在本教程中&#xff0c;你將學習如何為自己的應用程序設計 PostgreSQL 數據庫。 業務需求 我們將為一個簡單的庫存管理系統設計數據庫。 讓我們從業務需求開始&#xff1a; “我們的庫存管理系統使倉庫用戶能夠高效管理多個倉庫的庫存。” 它簡化了產品管理&#xff0c;使…

Linux下清理磁盤空間——df 磁盤占用100%,du占用很少空間的原因

背景 一臺測試服務器&#xff0c;/data磁盤大小為300G&#xff0c;時不時就滿了&#xff0c;通過df命令查看300G基本全用了&#xff0c;use 100%。但是進到/data目錄中通過du 命令查看&#xff0c;也就用了20個G左右&#xff0c;怎么都對不上。如何清理都沒有釋放太多空間。查看…

分鐘級長視頻生成迎來“記憶革命”,7倍成本降低,2.2倍端到端生成速度提升!|斯坦福字節

論文鏈接&#xff1a;https://arxiv.org/pdf/2508.21058 項目鏈接&#xff1a;https://primecai.github.io/moc/亮點直擊提出了一種自適應上下文混合&#xff08;Adaptive Mixture of Contexts&#xff0c;MoC&#xff09;框架&#xff0c;該框架學習將每個查詢路由到視頻序列中…

JavaScript 設計模式概覽

1. 設計模式是什么? 設計模式是開發中解決常見問題的經典方案。設計模式并非具體代碼&#xff0c;而是解決問題的通用解決方案&#xff0c;幫助開發者避免重復造輪子&#xff0c;提升代碼的可維護性、可擴展性。 2. 設計模式的歷史 設計模式起源于建筑領域&#xff0c;由克…