乐趣区

关于运维:一文看懂什么是Bonree-Server

随着传统互联网网络环境的日益完善、挪动互联网技术的日益成熟,各类网络应用的需要逐步被激发。从根底的娱乐沟通、信息查问到商务交易、网络金融及教育医疗等公共服务,互联网塑造了全新的社会生存状态,深刻影响着挪动网民的日常生活。网络应用品种繁多,人们生存越来越依赖于网络应用。

利用零碎的复杂程度持续上升,IT 零碎规模不断扩大,IT 故障和危险点继续减少状况下,繁多应用传统监控已无奈满足目前运维的需要。零碎拜访压力越来越大,零碎性能越来越多,业务零碎越来越简单,零碎间依赖关系越来越严密。

除了日益激增的 IT 利用复杂性,企业同时面临业务需要更快的变动,用户冀望继续攀升,须要更高的性价比等方面的影响,在这些因素的影响下,IT 利用在运行过程中产生诸如性能降落或者服务不可用等故障的可能性大大增加,从而影响业务服务的失常运行。因而无效地治理这些利用,保障业务的连续性和 IT 零碎的稳定性是业务倒退的迫切需要。

博睿数据的 Bonree Server 产品就是在这样的背景下应运而生的。

Bonree Server 是什么?

Bonree Server 是博睿数据的一款利用性能监控产品,面向业务、研发、运维、SRE、平安等数字化工作人员,在业务公布、监控、故障复原、紧急反对、治理布局等工作时做到成竹在胸、口头无方、高效从容。

为了做到真正的客户胜利和用户称心,Bonree Server 始终在欠缺基础设施、中间件、应用服务等数字化零碎的全面可观测性。在此基础上,博睿数据始终侧重于自动化、智能化的产品迭代。Bonree Server 的全面降级,在自动化、可观测性方面的两项重要研发成绩:服务主动发现和 Docker 容器监控,可能助力企业从容应对云原生架构演进中的利用性能监控挑战。

Bonree Server 采纳被动式监控,通过在服务器上的利用部署或者嵌入探针进行,以 Javaagent 为例:采纳字节码加强式埋点形式,在启动 JVM 时,通过不同的埋点插件笼罩不同的通信协议、中间件、开发框架,对 Java 根底调用代码进行函数级埋点,从而拿到堆栈级的调用信息以及运行态信息。

Bonree Server 产品总体设计采纳分层架构的形式,层与层之间实现的性能不同、设计准则与偏重方向也不一样:

数据采集层:通过以探针的形式采集各项性能指标数据,次要偏重数据采集的准确性,在此基础上不能影响客户环境的稳固运行。

数据处理层:对探针采集到的各项性能指标数据进行解决、分类规整和入库,次要偏重稳定性、高性能和高可扩大。

数据存储层:次要集中在数据的存储,通过引入不同的存储构造,分类存储不同的信息,次要偏重数据存储的可靠性,稳定性和高性能。

数据展现层:向客户展现各个维度的性能指标数据,架构上次要偏重可用性、实时性和 UI 敌对性。

​Bonree Server 能帮客户实现什么?

简略来说,Bonree Server 能帮客户实现以下四方面性能:服务状态监控、零碎性能剖析、业务链路追踪、全局异样定位。

咱们首先来看下服务状态监控。

服务状态监控即从多维度监控用户零碎运行状态,包含全局服务是否衰弱、实例运行是否稳固、主机资源是否短缺、容器状态是否失常等。

咱们以服务异样卡顿为例。

在剖析服务器卡登时,咱们首先须要确认根底服务是否失常,定位到服务所关联的主机,查看各项指标是否失常,尤其注意过程模块,若存在指标异样,要判断是否是以后服务所属过程导致的。

其次,若定位到内存占用过高,同时须要留神 gc 数据,若 gc 无奈失常回收,且次数与耗时异样,则思考是否有内存泄露问题,应用 jstat 和 jmap 做后续剖析,条件容许的状况下,能够间接剖析 dump 文件。

若定位到 CPU 占用过高,思考是否有死循环或者线程死锁,应用 jstack 做后续剖析,如果不方便使用 jstack,能够思考应用平台的线程分析做初步判断。

再来看下零碎性能剖析。

零碎性能剖析即从业务登程透视零碎性能瓶颈,包含定位慢调用业务、剖析慢调用 SQL、确定慢内部调用、快照数据详细分析等。

比方当呈现要害业务响应慢的问题,可能有两方面的起因。一方面可能因为公司本身的业务逻辑简单,须要对业务耗时占比和吞吐率进行剖析;另一方面,要思考到内部调用响应迟缓的问题,能够剖析单次调用的堆栈信息。

业务链路追踪即还原残缺的业务链路调用关系,包含统计简单业务调用链路、剖析单次业务调用关系等。

全局异样定位即多角度剖析零碎异样信息,包含统计全局异样信息、代码级异样定位等。

Bonree Server 有哪些“过人之处”?

那么,相较于市场上其余监控产品,Bonree Server 有哪些可取之处?

其一,反对多平台、多语言。

其二,稳定性 & 资源开销小,所有的 Bonree Java Agent 插入的扩大代码都主动有增加 try catch 进行爱护,保障即使产生异样时也不影响用户业务代码失常执行(一般来说,Bonree Java Agent 插入的扩大代码极少,逻辑解决也极为简略,次要是计时操作)。当机器达到肯定负载时(可自行配置),探针主动暂停工作,优先保障用户业务的失常运行。

其三,主动发现全维 topo,基于 Bonree SmartAgent,无需手动配置,主动发现注册服务,生成全维的服务调用 topo 图。

其四,探针自动更新。

其五,全维剖析。

其六,代码级问题诊断,针对业务过程的全副代码(包含用户级别代码)主动进行全程追踪剖析,除了显示公共类和办法外,还反对对用户自定义级代码的进行剖析,无需研发人员配合。

随着分布式应用、云计算的不断深入倒退,业务零碎的逻辑构造正变得越来越简单,应用服务存在不同的平台上一直演变。利用的复杂性和灵活性加大了运维的难度,如何保障 IT 利用零碎可能稳固、高效率的运行,成为 IT 技术保护人员首当其冲解决的问题。将来,Bonree Server 将在业务数据采集剖析、日志剖析、根因剖析、调用链全文检索以及中间件监控等方面继续发力,助力更多企业进步运维效率。​​​​

退出移动版