-
sentry是什么?
- 现代化的实时事件日志监控、记录和聚合平台,主要用于如何快速的发现故障。
- 支持几乎所有主流开发语言和平台,并提供了现代化U。
- 它专门用于监视错误和提取执行适当的事后操作所需的所有信息,而无需使用标准用户反馈循环的任何麻烦。
- 官方提供了多个语言的SDK.让开发者第一时间获悉错误信息,并方便的整合进自己和团队的工作流中。
- 提供saas版本免费版支持每天5000个event.
- 开源!
-
Sentry 的发展过程
-
版本发布
-
版本变化
- 在9.1.2版本之前,其发展是很慢的。 但是在9.1.2版本之后,发展就起飞了。
-
-
什么原因造成了发展如此之快?
- 架构
-
9.1.2版本及之前
- 最小5个镜像就可完成搭建。
- 9.1.2版本之后
- 这图画的不怎么好。
-
最新版本
- 相关服务拓展到 23个服务!
-
nginx:1.16
- sentry_onpremise_nginx_1:进行服务间的网络配置
-
sentry-onpremise-local:以下服务使用同一个镜像,即使用同一套环境变量
-
sentry_onpremise_worker_1
- 可能是处理后台任务,邮件,报警相关
-
sentry_onpremise_cron_1
- 定时任务,不确定是什么定时任务,可能也是定时清理
-
sentry_onpremise_web_1
- web 服务(UI + web api)
- sentry_onpremise_post-process-forwarder_1
-
sentry_onpremise_ingest-consumer_1
- 处理 kafka 消息
-
-
sentry-cleanup-onpremise-local
-
sentry_onpremise_sentry-cleanup_1
- 数据清理,暂时不重要,但是应该和其他的 sentry 服务公用一些配置
-
sentry_onpremise_snuba-cleanup_1
- 数据清理,暂时不重要
-
-
getsentry/relay:20.10.1
-
sentry_onpremise_relay_1
- 来自应用上报的数据先到 relay,
- relay 直接返回响应状态
- 后在后台任务中继续处理数据
- 解析事件、格式调整、启用过滤规则等丢弃数据
- 数据写入 kafka
-
-
symbolicator-cleanup-onpremise-local
-
sentry_onpremise_symbolicator-cleanup_1
- 数据清理的,暂时不重要
-
-
getsentry/snuba:20.10.1
- 看起来是消费 kafka 消息,往 ClickHouse 写,用到了 redis,用途不明
-
sentry_onpremise_snuba-api_1
- snuba 的接口服务,好像没什么作用
-
sentry_onpremise_snuba-consumer_1
- 消费 Kafka 给 ClickHouse 提供事件
-
sentry_onpremise_snuba-outcomes-consumer_1
- 消费 Kafka 给 ClickHouse outcomes
-
sentry_onpremise_snuba-sessions-consumer_1
- 消费 Kafka 给 ClickHouse sessions
-
sentry_onpremise_snuba-replacer_1
- 看起来是转换老(或者别的转换功能)数据的,从kafka拿后写到kafka
-
tianon/exim4
-
sentry_onpremise_smtp_1
- 邮件服务
-
-
memcached:1.5-alpine
- sentry_onpremise_memcached_1
- 也许是用来降低数据存储的频次和冲突的
-
getsentry/symbolicator:bc041908c8259a0fd28d84f3f0b12daa066b49f6
-
sentry_onpremise_symbolicator_1
- 最基础的设施:解析(native)错误信息
-
-
postgres:9.6
-
sentry_onpremise_postgres_1
- 基础的设施,服务后台默认的数据库,存储异常数据
-
-
confluentinc/cp-kafka:5.5.0
-
sentry_onpremise_kafka_1
- 基础的设施,ClickHouse 和 pg 的数据肯定都是从 kafka 来的
-
-
redis:5.0-alpine
-
sentry_onpremise_redis_1
- 基础的设施,有一些拦截配置在这
-
-
confluentinc/cp-zookeeper:5.5.0
-
sentry_onpremise_zookeeper_1
- 基础的设施
-
-
yandex/ClickHouse-server:19.17
-
sentry_onpremise_ClickHouse_1
- 与pg不同的存储,存储是异常的关键信息,用于快速检索
-
-
从架构上来看, sentry 进行了大数据量处理的升级。这种升级从正常逻辑上看是非常正确的。
-
但是!
-
对开源产品的用户群体来说,却带来了突破性的改变。
-
用户群体分析
-
谁在用开源产品
-
主要为中小型公司
- 大型公司只要是有点实力即便使用开源产品也会进行定制化二次开发。
-
-
为什么使用开源产品
- 需求类似,不需要自己投入成本开发。
- 使用方便!
-
-
本质变化
- 从原先的简单易用,变成了极其复杂的生态体系。
-
-
开源产品私有化 对比 Saas服务 不在具备性价比。
-
构建一个私有化部署成本逐步扩大。
- 设备成本
- 维护成本
- 拓展成本
- Saas服务 按量收费/小量免费特性。
-
-
-
-
最终
- 小型企业/量级小的系统,sentry 提供的小量免费对 sentry 本身不会照成多大成本增加。
- 大型企业主要在于运维成本,新版私有化部署带来更高性能的同时也带来了近乎困难+级别的运维成本增加。在 sentry 收费不高的前提下,部分使用sentry 付费模式也具备较高性价比。
- 软件技术的下个阶段必然是开源+ Sass模式。
互利才是正确的发展方向。