已将Rust编译器团队负责人收入囊中
|
QAE平台自身内建了监控功能,包括容器级和应用级两个层级,除了可以在QAE平台通过页面查看,也支持通过HTTP接口暴露出监控数据,这就为我们进行统一的监控数据采集提供了可能。 我们开发了一个QAE容器监控数据采集的服务,qae-monitor。qae-monitor服务通过自定义Prometheus Collector的方式,实现对QAE监控数据的收集。服务定时调用QAE平台的HTTP接口抓取容器监控数据,并整理成Prometheus的数据格式。 qae-monitor本身也通过Micrometer向外暴露监控数据采集端点,Prometheus通过该端点抓取采集到的监控数据。 2)应用服务监控 基础监控数据主要是指应用服务实例的运行时状态、资源使用情况等度量指标。Micrometer默认提供了非常丰富的应用度量指标,只要接入了Micrometer就可以直接采集到这些数据,主要包括:
3)第三方接口监控 微服务架构中,可以通过调用和组合已有服务的方式创建新服务,第三方接口会直接影响到自身服务,因此第三方服务接口的调用情况同样值得关注。在如何采集第三方服务接口的监控数据上,主要有两种方案: ① 显式主动采集 在发生第三方接口调用的地方,主动进行监控数据的采集。或者直接硬编码,或者用注解、切面的形式,优点是方案简单,缺点是会对已有的业务代码造成侵入。 ② 隐式组件采集 在使用的HTTP/RPC组件中增加埋点采集的逻辑,优点是业务代码不需修改,缺点是HTTP/RPC组件需要扩展和升级。 我们最终选择了第二种方案,主要原因是:
具体而言,Micrometer提供了OkHttpMetricsEventListener组件,用于收集Okhttp的监控数据。我们只需要在构建Okhttp实例的时候传入OkHttpMetricsEventListener实例即可;也可以传入一个EventListener.Factory实例,在工厂的创建方法中返回OkHttpMetricsEventListener实例。Okhttp在3.11.0的版本中才正式加入了EventListener功能,使用时需要注意Okhttp的版本。 (编辑:衡水站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

