写点什么

一文看懂——什么是 Bonree Server?

作者:博睿数据
  • 2022 年 5 月 16 日
  • 本文字数:2271 字

    阅读完需:约 7 分钟

一文看懂——什么是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 将在业务数据采集分析、日志分析、根因分析、调用链全文检索以及中间件监控等方面持续发力,助力更多企业提高运维效率。​​​​

发布于: 刚刚阅读数: 3
用户头像

博睿数据

关注

还未添加个人签名 2021.07.02 加入

专注于利用数据赋能IT运维,助力企业数字化转型成功

评论

发布
暂无评论
一文看懂——什么是Bonree Server?_Server_博睿数据_InfoQ写作社区