加入收藏 | 设为首页 | 会员中心 | 我要投稿 周口站长网 (https://www.0394zz.cn/)- 数据采集、智能营销、经验、云计算、专属主机!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

聊一聊几款流行监控系统

发布时间:2021-03-14 12:36:56 所属栏目:外闻 来源:互联网
导读:功能包括: 对服务,系统,平台的运行状态实时监控。 收集服务,系统,平台的运行信息。 通过收集信息的分析结果,预知存在的故障风险,并采取行动。 根据对风险的评估,进行故障预警。 一旦发生故障,第一时间发出告警信息。 通过监控数据,定位故障,协助

功能包括:

  • 对服务,系统,平台的运行状态实时监控。
  • 收集服务,系统,平台的运行信息。
  • 通过收集信息的分析结果,预知存在的故障风险,并采取行动。
  • 根据对风险的评估,进行故障预警。
  • 一旦发生故障,第一时间发出告警信息。
  • 通过监控数据,定位故障,协助生成解决方案。
  • 最终保证系统持续、稳定、安全运行。
  • 监控数据可视化,便于统计,按照一定周期导出、归档,用于数据分析和问题复盘。

监控系统的分类

既然监控系统对我们意义重大,针对不同场景把监控系统分为三类,分别是:

  • 日志类
  • 调用链类
  • 度量类

日志类

通常我们在系统和业务级别上加入一些日志代码,记录一些日志信息,方便我们在发现问题的时候查找。

这些信息会与事件做相关,例如:用户登录,下订单,用户浏览某件商品,一小时以内的网关流量,用户平均响应时间等等。

调用链类

对于服务较多的系统,特别是微服务系统。一次服务的调用有可能涉及到多个服务。A 调用 B,B 又要调用 C,好像一个链条一样,形成了服务调用链。

调用链就是记录一个请求经过所有服务的过程。请求从开始进入服务,经过不同的服务节点后,再返回给客户端,通过调用链参数来追踪全链路行为。从而知道请求在哪个环节出了故障,系统的瓶颈在哪儿。

调用链监控的实现原理如下:

①Java 探针,字节码增强


 

介绍这种方式之前,我们先来复习一下 Java 代码运行的原理。通常我们会把 Java 源代码,通过“Java 编译器”编译成 Class 文件。再把这个 Class 的字节码文件装载到“类装载器”中进行字节码的验证。

最后,把验证过后的字节码发送到“Java 解释器”和“及时编译器”交给“Java 运行系统”运行。

Java 探针,字节码增强的方式就是利用 Java 代理,这个代理是运行方法之前的拦截器。

在 JVM 加载 Class 二进制文件的时候,利用 ASM 动态的修改加载的 Class 文件,在监控的方法前后添加需要监控的内容。

例如:添加计时语句,用于记录方法耗时。将方法耗时存入处理器,利用栈先特性(先进后出)处理方法调用顺序。

每当请求处理结束后,将耗时方法和入参 map 输出到文件中,然后根据 map 中相应参数,区分出耗时业务。

最后将相应耗时文件取下来,转化为 xml 格式并进行解析,通过浏览器将代码分层结构展示出来。

(编辑:周口站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读