-
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模式。
互利才是正確的發展方向。