加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡水站长网 (https://www.0318zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

已将Rust编译器团队负责人收入囊中

发布时间:2021-02-04 14:41:56 所属栏目:动态 来源:互联网
导读:QAE平台自身内建了监控功能,包括容器级和应用级两个层级,除了可以在QAE平台通过页面查看,也支持通过HTTP接口暴露出监控数据,这就为我们进行统一的监控数据采集提供了可能。 我们开发了一个QAE容器监控数据采集的服务,qae-monitor。qae-monitor服务通过

QAE平台自身内建了监控功能,包括容器级和应用级两个层级,除了可以在QAE平台通过页面查看,也支持通过HTTP接口暴露出监控数据,这就为我们进行统一的监控数据采集提供了可能。

我们开发了一个QAE容器监控数据采集的服务,qae-monitor。qae-monitor服务通过自定义Prometheus Collector的方式,实现对QAE监控数据的收集。服务定时调用QAE平台的HTTP接口抓取容器监控数据,并整理成Prometheus的数据格式。

qae-monitor本身也通过Micrometer向外暴露监控数据采集端点,Prometheus通过该端点抓取采集到的监控数据。

2)应用服务监控

基础监控数据主要是指应用服务实例的运行时状态、资源使用情况等度量指标。Micrometer默认提供了非常丰富的应用度量指标,只要接入了Micrometer就可以直接采集到这些数据,主要包括:

  •  系统信息,包括运行时间、CPU使用率、系统负载等;
  •  内存使用情况,包括堆内存使用情况和非堆内存使用情况;
  •  线程使用情况,包括线程数、守护线程数、线程峰值等;
  •  类加载信息;
  •  GC信息,包括GC次数、GC消耗时间等;
  •  HTTP请求情况,描述HTTP请求的性能指标,是非常重要的监控指标,在统计HTTP服务的QPS、响应时间和成功率时必不可少。

3)第三方接口监控

微服务架构中,可以通过调用和组合已有服务的方式创建新服务,第三方接口会直接影响到自身服务,因此第三方服务接口的调用情况同样值得关注。在如何采集第三方服务接口的监控数据上,主要有两种方案:

① 显式主动采集

在发生第三方接口调用的地方,主动进行监控数据的采集。或者直接硬编码,或者用注解、切面的形式,优点是方案简单,缺点是会对已有的业务代码造成侵入。

② 隐式组件采集

在使用的HTTP/RPC组件中增加埋点采集的逻辑,优点是业务代码不需修改,缺点是HTTP/RPC组件需要扩展和升级。

我们最终选择了第二种方案,主要原因是:

  •  首先我们的技术方案比较统一,都采用HTTP协议进行服务调用,且使用的HTTP客户端组件(fluent-hc)也是基于Okhttp3进行的二次封装,方便统一修改;
  •  其次,Micrometer支持通过SDK的方式自定义监控指标数据的采集,也提供了众多常用的组件埋点方案,Okhttp3即是其中之一,进一步简化了第三方接口的监控数据采集难度。

具体而言,Micrometer提供了OkHttpMetricsEventListener组件,用于收集Okhttp的监控数据。我们只需要在构建Okhttp实例的时候传入OkHttpMetricsEventListener实例即可;也可以传入一个EventListener.Factory实例,在工厂的创建方法中返回OkHttpMetricsEventListener实例。Okhttp在3.11.0的版本中才正式加入了EventListener功能,使用时需要注意Okhttp的版本。

(编辑:衡水站长网)

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

    热点阅读