微服务监控
所有文档

          云原生微服务应用平台 CNAP

          微服务监控

          前置条件

          微服务监控指标数据的采集依赖组件中心的Prometheus组件。要使用微服务监控相关功能,请先在组件中心开启Prometheus。

          业务总览

          进入【微服务监控】选择【业务总览】

          选择【工作空间·应用·部署组】,可以查看应用的运行数据汇总信息,包括总览数据与曲线图数据。

          overview1.png

          总览指标

          • 总请求量 当前应用被访问的次数,包含正常访问与非正常访问。正常访问指应用对外提供服务的接口产生的记录。非正常访问指外界应用程序调用接口不存在的方法产生的记录、或微服务框架的内部方法(健康检查等)。
          • 平均响应时间 提供服务接口的平均响应时长。
          • 实例数 一个【应用-部署组】可以拥有多个实例,这里展示当前运行的实例数量。
          • 异常数 应用运行期间抛出的异常数量统计。

          曲线图指标

          • 请求数 请求量随时间的变化的曲线。
          • 平均响应时间 平均响应时间随时间变化的曲线。
          • 出错率 响应状态码异常率(与监控指标中异常不一致)随时间变化的曲线。

          业务拓扑

          进入【微服务监控】选择【业务拓扑】

          选择【工作空间·应用·部署组】,展示业务拓扑图

          apptopo1.png

          图中展示的信息包括

          • 节点 一个应用的部署组视为一个节点。数据库、缓存等也会被视为节点。
          • 连线 对于HTTP、RPC、DB、CACHE类别,会使用不同的曲线展示。每条都会显示出相应类别的汇总信息。

          接口分析

          进入【微服务监控】选择【接口分析】

          选择【工作空间·应用·部署组】,可以查看接口相关数据。

          interface1.png

          接口列表

          展示了近期接口调用列表,包括正常方法调用,与部分非正常方法(外部应用访问应用不存在的接口)。每个方法会包含汇总信息:响应时间、请求数量、错误数、异常数。异常数指运行时抛出的异常或者error,而错误数指调用接口返回的状态码不正确。

          接口概览

          接口概览包括如下统计项:

          • 拓扑图 方法级别的拓扑图,一个方法为一个节点,根据监控数据的汇总,利用拓扑图展示方法间的上下游依赖关系。需要注意的是部分方法节点,不仅展示当前入口方法的记录,还会展示其他方法访问该节点时产生的记录。拓扑图中的连线会展示方法节点间的调用统计数据。
          • 请求数时间曲线 方法级别的请求量随时间变化的曲线。
          • 平均响应时间时间曲线 平均响应时间随时间变化的曲线。
          • 错误数时间曲线 响应状态码不正确数量随时间访问的曲线。

          SQL分析

          展示了最近指定时间段内某一接口的sql调用情况。根据方法列表获取入口方法相关联的SQL调用,并展示调用的统计信息,包括调用次数、平均耗时,并绘制统计曲线。 需要注意的是,sql分析只有在发生数据库访问的应用上有对应入口。 sql-analysis.png

          应用诊断

          进入【微服务监控】选择【应用诊断】进入诊断页面。选择【工作空间·应用·部署组·实例】,可查看对应实例的JVM监控信息或远程对该实例上的应用执行诊断。

          JVM监控

          展示应用的JVM统计信息。

          jvm1.png

          统计项包括:

          • GC累加次数\GC累加耗时 从应用启动开始累积发生的GC数据统计。
          • 堆内存使用量 近期堆内存使用的时间变化曲线。
          • 线程数 JVM各类线程数量的时间变化曲线。

          远程应用诊断

          应用诊断功能支持jvm和系统常用的诊断命令,帮忙用户进行远程问题排查。命令包括jstack、jmap、jinfo、jstat、env和lsof。

          remote2.png

          注意:

          • 在推荐的镜像打包脚本中已经添加了对诊断命令的支持。如果需要自定义镜像,请确保镜像支持JVM相关诊断命令及相关系统诊断命令,否则相关的诊断命令会执行异常。
          • jmap和jinfo命令执行依赖操作系统的ptrace设置。如果CCE集群的WORKER节点虚机使用的是7.3及以前的centos版本操作系统(即创建CCE集群时手动指定的虚机操作系统),jmap和jinfo命令执行会遇到权限问题。此时需要用户手动登录相关CCE虚机节点并在虚机上执行如下命令解除限制:

            echo 0 > /proc/sys/kernel/yama/ptrace_scope

          监控自定义配置

          针对应用监控中的配置差异化,将用户需要的功能进行定制,不需要的功能进行屏蔽,并将不同的配置内容下发至用户应用,并实现热更新。(注意:所有配置项生效均无需重启应用

          image.png

          配置的生效级别

          现支持用户空间 全局应用 两个配置生效级别;应用一级的配置优先于全局,将覆盖全局配置。

          配置的内容

          现支持三种类别的配置,具体如下:

          • 插件开关:是否禁用某插件,勾选单个/多个插件已禁用;现支持的插件包括

            • httpclient4-plugin
            • mysql-plugin
            • restemplate-plugin
            • springmvc-plugin

          image.png

          • 采样率设置:设置监控探针采集信息的采样率,调整至适当的采样率可以减少不必要的数据传输,降低对应用性能的影响。取值范围:0%~100%。该项配置同时支持java和mesh应用。 注意:当采样率设置为0%时,将停止采集。会影响拓扑、调用链等功能的正常使用! image.png
          • SQL采集阈值设置:设置SQL采集的阈值,将只收集用户关心的、可能为慢SQL的语句,小于设置值的SQL将不被采集。 image.png
          上一篇
          应用托管
          下一篇
          报警中心