前言

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;由克…