头图

Sentry(v20.12.1) K8S云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能高可用+可扩展可伸缩集群部署

Sentry 算是目前开源界集错误监控,日志打点上报,事件数据实时分析最好用的软件了,没有之一。将它部署到 Kubernetes,再搭配它本身自带的利用 Clickhouse (大数据实时分析引擎)构建的 Snuba 服务进行数据分析~简直了。(已无敌😂)

在实战之前,我们先跟随官方文档初步了解下 Sentry 的整体项目架构。

项目架构

这一节,来自于官方文铛。

注意:最新官方版 20.12.1,截止到今天。

它的架构细节可能又发生了演进,从已启动的容器来看。

高层概述

边线表示 Sentry 服务依赖关系图

image

事件管道

如何保存事件。边线表示通过系统的数据流。

由于布局限制,此图非常简化。此图表中缺少:

  • 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

image

通过 Relay 的事件路径

image

事件提取管道

image

部署实战

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😂):

image

中文文档陆续同步到:

我是为少。
微信:uuhells123。
公众号:黑客下午茶。
谢谢点赞支持👍👍👍!

6 声望
1 粉丝
0 条评论
推荐阅读
如何构建一个多人(.io) Web 游戏,第 1 部分
如果您以前从未听说过 .io 游戏:它们是免费的多人 web 游戏,易于加入(无需帐户),并且通常在一个区域内让许多玩家相互竞争。其他著名的 .io 游戏包括 Slither.io 和 Diep.io。

为少阅读 1.9k

封面图
从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木60阅读 6k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs39阅读 6.2k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木41阅读 7.1k评论 6

CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^&lt...

XboxYan42阅读 2.8k评论 14

封面图
还在用 JS 做节流吗?CSS 也可以防止按钮重复点击
举个例子:一个保存按钮,为了避免重复提交或者服务器考虑,往往需要对点击行为做一定的限制,比如只允许每300ms提交一次,这时候我想大部分同学都会到网上直接拷贝一段throttle函数,或者直接引用lodash工具库

XboxYan34阅读 2.2k评论 2

封面图
从零搭建 Node.js 企业级 Web 服务器(二):校验
校验就是对输入条件的约束,避免无效的输入引起异常。Web 系统的用户输入主要为编辑与提交各类表单,一方面校验要做在编辑表单字段与提交的时候,另一方面接收表单的接口也要做足校验行为,通过前后端共同控制输...

乌柏木32阅读 6.1k评论 9

6 声望
1 粉丝
宣传栏