开源错误跟踪平台Sentry部署记录
📅 2017-11-20
Sentry是一个开源的错误报告和收集平台,它不仅支持Java、Go、Python、PHP、C#等多种后端语言和框架,支持Web前端和移动应用, 另外还提供与GitHub、JIRA等工具的集成。本文将主要记录使用官方的Sentry On-Premise部署Setntry的过程。
...Sentry是一个开源的错误报告和收集平台,它不仅支持Java、Go、Python、PHP、C#等多种后端语言和框架,支持Web前端和移动应用, 另外还提供与GitHub、JIRA等工具的集成。本文将主要记录使用官方的Sentry On-Premise部署Setntry的过程。
...Opentracing是一个分布式追踪标准,与平台和语言无关,统一接口,方便接入不同的分布式追踪系统。 Jaeger也是支持Opentracing标准的项目之一。学习jaeger有必要了解Opentracing规范。 以下是jaeger的文档资料:
...当使用微服务构建我们的程序时,客户端的一次请求会产生大量服务调用,包括服务和数据库等中间件的调用。 由单体应用迁移至微服务时,服务间调用的延迟是我们需要面对的一个问题。为了定位每次调用过程中的延迟问题和性能瓶颈,我们需要知道客户端一次请求所经历的过程,分别调用了哪些服务,调用每个服务花费的时长,以及调用每个服务花费的时长,这些将会成为我们性能调优的参考。因此,分布式追踪系统是微服务架构中不可缺少的一部分。
...Prometheus是一个基于时序数据的开源监控系统。 被Prometheus监控的服务需要公开一个Prometheus的endpoint,这个endpoint通过http接口暴露了度量(metrics)的列表和当前的值。很多服务都内置了Prometheus的endpoint直接暴露metrics,另外一些服务需要再为它们部署一个sidecar进程,通过side car暴露metrics。 这个sidecar或直接暴露metrics的服务自带的endpoint,就是Prometheus架构中的Exporter,Prometheus从Exporter中拉去监控数据。
...我们已经使用二进制包手工安装了OpenShift,并且使用OpenShift的Web控制台创建了一个项目。 实际上OpenShift还提供了一系列命令行工具,oc命令就是其中的一个,下面我们一起熟悉一下这个命令。
查看OpenShift集群版本信息:
...RabbitMQ的Monitoring文档中介绍了各种监控RabbitMQ的方式。 其中推荐了第三方的Prometheus Plugin, 这是一个第三方实现RabbitMQ的管理插件,可以作为Prometheus的RabbitMQ Exporter。
这里RabbitMQ的版本为3.6.14
,Erlang版本为Erlang R16B03-1
,从Release for latest RabbitMQ 3.6.x versions这个链接中下载以下插件:
OpenShift是基于Docker和Kubernetes的开源容器云平台,其开源社区版本为OpenShift Origin。 OpenShift的安装方式有很多种:
本文作为我的OpenShift学习笔记的开篇,将首先学习使用二进制手动安装的方式快速启动一个OpenShift Origin实例用于学习和测试。
...在Ceph Luminous之前的版本,可以使用第三方的Prometheus exporterceph_exporter。 Ceph Luminous 12.2.1的mgr中自带了Prometheus插件,内置了 Prometheus ceph exporter,可以使用Ceph mgr内置的exporter作为Prometheus的target。
...Ceph Luminous(Ceph 12.2)增加了很多新功能,例如新的后端存储BlueStore已经稳定,主推的新的管理进程ceph-mgr,并提供了用于监控的Prometheus插件和Dashboard插件,终于不用再折腾calamari了。本文尝试在测试环境中使用ceph-deploy
将Ceph集群从Kraken到Luminous。
前面我们已经在k8s上部署了istio和官方的示例应用Bookinfo。本篇来学习一下ServiceMesh的基本概念,加深一下对服务网格的理解。ServiceMesh实际上处于云原生平台微服务的基础设施层,用来连接、管理和保护微服务。 目前CNCF官方项目列表中有两个Service Mesh的项目,分别是Linkerd和Envoy。
...