signoz 参考架构设计

参考图

从下图可以看出signoz 主要包含的组件
collector 使用了社区的,数据存储基于clickhouse ,对于prometheus 的writer 使用了

 

 

 

query service 处理部分

  • prometheus 集成

参考图
直接嵌入了prometheus,使用了prometheus 的remote read 同时基于prometheus 的alert rule 解决报警的问题(需要集成一个alertmanager)

 

 

 

  • trace 部分

核心是利用了opentelemetry-collector,基于自己开发的clickhouse metrics writer 解决链路信息记录到clickhouse

 

 

 

一些问题

通过简单的分析signoz 的源码就可以发现,当前开源版本的signoz 包含一些问题

  • 集群问题(目前dashboar 使用了本地数据库,sqlite,当然可以调整)
  • 直接嵌入prometheus 做为一个嵌入的引擎可能会有查询问题(具体需要通过性能测试下)
  • 缺少多租户的支持(当然这部分对于metrics 的处理实际上我们可以调整扩展支持grafan 的minir 以及VictoriaMetrics,trace部分目前还真的不太好处理,可以自己调整)
  • 安全上不是很好(缺少完整的安全控制,当然需要自己扩展)
  • 目前clickhouse 的write 部分暂时没有开源(当然我们基于协议可以开发自己的)
  • 缺少日志处理(当然opentelemetry-collector 依然还在开发中,后续应该会有支持的)

说明

以上是通过阅读源码分析到的,整体signoz并不难,属于一个all-in-one 的架构设计,使用比较简单,但是目前测试以及源码分析上来看大规模使用可能会有点问题,如果后期grafan minir 支持了opentelemetry,我们基于此在结合signoz进行系统改造会是一个不错的模式

参考资料

https://github.com/open-telemetry/opentelemetry-collector
https://github.com/SigNoz/signoz

posted on   荣锋亮  阅读(1071)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-01 cube.js dremio driver基于补偿机制提升查询速度
2019-04-01 hasura graphql-engine 集成zombodb
2019-04-01 zombodb安装试用
2017-04-01 linux 磁盘挂载操作
2017-04-01 nginx 缓存处理
2016-04-01 jQuery.retryAjax
2015-04-01 C# 通用DataTable 拆分小表

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示