Sentry(v20.12.1) K8S 雲原生架構探索,玩轉前/后端監控與事件日志大數據分析,高性能+高可用+可擴展+可伸縮集群部署


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 RelayEvent 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。

公眾號:黑客下午茶。

謝謝點贊支持👍👍👍!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM