Sentry
算是目前開源界集錯誤監控,日誌打點上報,事件資料實時分析最好用的軟體了,沒有之一。將它部署到 Kubernetes
,再搭配它本身自帶的利用 Clickhouse
(大資料實時分析引擎)構建的 Snuba
服務進行資料分析~簡直了。(已無敵?)
在實戰之前,我們先跟隨官方文件初步瞭解下 Sentry
的整體專案架構。
專案架構
這一節,來自於官方文鐺。
注意:最新官方版 20.12.1
,截止到今天(202001009
)。
它的架構細節可能又發生了演進,從已啟動的容器來看。
高層概述
邊線表示 Sentry 服務依賴關係圖
事件管道
如何儲存事件。邊線表示通過系統的資料流。
由於佈局限制,此圖非常簡化。此圖表中缺少:
- Relay 如何獲取專案配置。答:來自 sentry-web
- Relay 如何快取專案配置。答:在記憶體中,在 Redis 中
- Relay 如何計數事件並跟蹤 quotas(配額)。答案:更多 Redis
- Symbolicator 作為 symbolicate-event 的輔助服務
- 如何觸發警報。回答:postprocess-event,一個 Celery 任務,負責報警(由一個Kafka消費者在Sentry中從eventstream讀取資料)
- 可能更多
有關更多資訊請閱讀 Path of an event through Relay 和 Event Ingestion Pipeline。
通過 Relay 的事件路徑
事件提取管道
部署實戰
Helm Charts
這裡我用的是:sentry-kubernetes/charts
Helm 一鍵部署
注意:Helm 部署是一個比較專業的話題(要玩好,注意拖運維大佬下水?),如:
- 持久化是否採用分散式儲存 or NFS...
- 是否採用外部(公司運維老闆維護的)的 Redis 叢集
- 是否採用外部的 Kafaka 叢集
- 是否採用外部的 RabbitMQ 叢集
- 是否採用外部的 Postgresql 叢集
- 是否採用外部的 Clickhouse 叢集
- 等等......
試玩:
helm repo add sentry https://sentry-kubernetes.github.io/charts
helm repo update
helm search repo sentry
# sentry/sentry 8.1.0 20.12.1 A Helm chart for Kubernetes
# 我這裡用的是這個版本
helm install sentry sentry/sentry --version 8.1.0 -n sentry
你沒看錯,我這裡足足給你啟動了 34
個容器(too young, too simple, sometimes naive?
):
中文文件陸續同步到:
我是為少。
微信:uuhells123。
公眾號:黑客下午茶。
謝謝點贊支援???!