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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用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 拆分小表