Sentry实时应用错误跟踪系统在Kubernetes中私有化部署

应用错误跟踪系统:对软件系统运行过程中产生的错误日志进行收集从而实现监控告警。

虽然软件错误❌是不可避免的,但是可以降低错误数。

提高对错误的治理能力能让错误带来的损失降到最低 ​👍🏻 。

错误日志监控在最顶层的业务层监控,有他将会帮助你打造更好的软件!

我们需要业务场景下自己发现Bug的速度快于用户报告Bug的速度,毕竟让用户报告已经晚了。

典型的这套系统的架构:错误日志(前端、后端) => 传输(HTTP)=>错误跟踪平台(收集、展示、分析、告警)。

本文不讨论哪款软件来解决这个问题,只讲Sentry这个轮子,SASS版本和私有部署版体验几乎一致

img

本文主要讲了

应用错误需要监控的场景案例

Sentry有哪些功能

Sentry如何在k8s中私有化部署

本文由 www.iamle.com 流水理鱼 原创,wx公众号搜索 流水理鱼 或 liushuiliyu

SEO 关键字

Sentry私有化部署

Sentry helm部署

Sentry kubernets部署 k8s部署

1. 需要应用错误监控的场景案例

  • 多年的老web项目需要https适配,因为老项目大量写死了http://所以文件修改数巨大,即便测试很仔细也不能保证完全没问题
  • 运营发现落地页转化异常了,有访问没表单提交,找到技术,技术发现是某个JS报错,导致表单无法提交,造成推广费用的损失
  • 上线了一个功能,由于环境差异,只在生产环境才触发,用户报告了才去查问题
  • 应用错误日志虽然通过ELK采集了,但是缺乏及时分析和告警
  • 特定的环境才产生错误,要解决问题的先去构建环境并复现错误,因为不清楚发生错误时的具体参数

2. Sentry有哪些功能

Sentry is cross-platform application monitoring, with a focus on error reporting.

Sentry跨平台应用监控,专注错误报告。

Sentry英文直译中文叫“哨兵”。

Sentry提供了一个应用程序监视平台,可以帮助您实时识别问题。

  • 提供WEB UI

  • 提供SASS版和私有部署2种方式

  • 开源,授权协议为BSL,只要你不拿他来做SASS服务卖钱,自用可以免费商用

  • 提供几乎所有主流开发语言和框架的SDK

  • 提供完整的错误详情

  • 支持自动上报错误和手动上报错误

  • 支持WEB前端、后端、APP

  • 支持多项目管理

  • 支持账号权限管

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Kubernetes是一种容器编排工具,可以帮助我们管理和部署容器化应用程序。Sentry是一个开源的错误跟踪平台,可以帮助我们监控应用程序错误和异常。 要在Kubernetes部署Sentry,我们需要先创建一个Kubernetes集群,并安装必要的组件,如kubectl和Helm。然后,我们可以使用Helm chart来部署Sentry。 首先,我们需要添加Sentry Helm chart的存储库。可以使用以下命令: ``` helm repo add sentry https://sentry-kubernetes.github.io/charts ``` 接下来,我们可以使用以下命令安装Sentry Helm chart: ``` helm install sentry sentry/sentry ``` 这将在Kubernetes集群创建一个Sentry部署,并将其暴露为一个NodePort服务。我们可以使用以下命令获取Sentry服务的URL: ``` minikube service sentry-sentry-web --url ``` 现在,我们可以使用浏览器访问Sentry服务,并开始监控我们的应用程序错误和异常。 ### 回答2: Kubernetes是一种用于自动化部署、扩展和管理容器化应用程序的开源平台。而Sentry是一种开源的实时错误跟踪平台,它可以帮助开发人员及时发现和修复应用程序的问题。这两者的结合,可以让我们更快速地部署Sentry,提高应用程序的可靠性和稳定性。 下面是在Kubernetes部署Sentry的基本步骤: 1. 创建Kubernetes集群:首先,需要创建一个Kubernetes集群。您可以使用各种托管服务或自己构建集群。系統自帶的語音對話,如果希望自己构建集群,建议使用一些较新的工具,如kubeadm、k3s等。 2. 安装Docker和Kubectl:在Kubernetes集群运行容器,需要先安装Docker。Kubectl是一种用于管理Kubernetes集群的命令行工具,您也需要安装它。 3. 创建Sentry应用程序:在Kubernetes集群创建Sentry应用程序。可以手动创建Sentry Kubernetes部署文件,也可以使用现成的部署文件。可以在Kubernetes文档找到这些内容。 4. 部署Sentry应用程序:使用kubectl命令,部署Sentry应用程序。在这里,您可以使用kubectl create命令,一次性部署所有资源。您也可以逐一部署资源。 5. 访问Sentry应用程序:当Sentry应用程序部署成功后,可以使用kubectl port-forward命令将Sentry暴露在本地端口。访问http://localhost:9000/即可查看Sentry界面。 6. 最佳实践:建议您使用Kubernetes的最佳实践来部署Sentry应用程序。这些最佳实践可以在Kubernetes文档和Sentry文档找到。例如,使用Kubernetes的Liveness和Readiness探针来检查Sentry应用程序是否健康运行。 总之,使用Kubernetes部署Sentry可以让我们更高效地管理和扩展Sentry应用程序。同时,它确保了应用程序的高可用性和弹性。如果您还没有尝试过Kubernetes部署Sentry,建议您自己动手做一下,体验一下它的优势。 ### 回答3: 随着云计算技术的不断发展和普及,容器化技术的应用也越来越广泛。而Kubernetes作为一款开源的容器编排系统,其在容器化应用部署和管理方面具有独特的优势和应用场景。本文将从Kubernetes部署Sentry的角度探讨如何利用Kubernetes进行Sentry部署。 1. Sentry简介 Sentry是一款开源的实时错误追踪和日志记录工具。其提供了完整的错误追踪解决方案,可帮助开发人员及时发现和修复应用程序的错误,提高应用程序的稳定性和可靠性。 在Sentry部署过程,我们需要关注一些关键要素,如Sentry的后端存储、前端图形界面以及Sentry Worker等。 2. Kubernetes简介 Kubernetes是一款基于容器化技术的开放源代码容器编排系统,旨在自动化容器部署、扩展和管理。其有着自身的部署架构和资源调度算法,可以帮助我们在复杂的容器化应用场景下进行整体的应用部署、管理和运维。 在使用Kubernetes部署Sentry的过程,我们需要了解Kubernetes的基础知识,如Kubernetes的Pod、Service、ReplicaSet、Deployment等资源对象,以及Kubernetes的资源调度和容错机制等。 3. Kubernetes部署Sentry 接下来我们将探讨基于Kubernetes部署Sentry的具体步骤: 步骤一:准备Kubernetes环境 我们需要准备一台Kubernetes的集群环境,在此不详细阐述搭建Kubernetes环境的具体步骤。 步骤二:部署Sentry后端存储 在部署Sentry之前,我们需要先部署Sentry的后端存储。常用的后端存储有PostgreSQL和MySQL。 我们可以通过以下命令在Kubernetes创建PostgreSQL存储: ``` kubectl create secret generic sentry-postgres \ --from-literal=POSTGRES_USER=<POSTGRES_USER> \ --from-literal=POSTGRES_PASSWORD=<POSTGRES_PASSWORD> \ --from-literal=POSTGRES_DB=<POSTGRES_DB> kubectl apply -f https://raw.githubusercontent.com/kubernetes/examples/master/staging/postgres/postgres-master.yaml ``` 步骤三:部署Sentry Web 我们可以通过以下命令在Kubernetes创建Sentry Web: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-web.yaml ``` 步骤四:部署Sentry Worker 我们可以通过以下命令在Kubernetes创建Sentry Worker: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-worker.yaml ``` 步骤五:创建Sentry Service 我们可以通过以下命令创建Sentry的Service: ``` kubectl apply -f https://raw.githubusercontent.com/getsentry/onpremise/master/sentry-service.yaml ``` 至此,我们成功地在Kubernetes部署Sentry。 4. 总结 本文通过介绍SentryKubernetes的基础知识,详细阐述了基于Kubernetes进行Sentry部署的具体步骤。随着云计算和容器化技术的应用不断发展和普及,我们相信KubernetesSentry将会在各自的领域发挥出更加重要的作用,为我们提供更加高效、可靠的基础设施和应用解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值