Skip to content
大纲

Flyme可观测平台FCOP

1. 产品介绍

Flyme可观测平台(Flyme Cloud Observability Platform,FCOP)是一款Flyme云应用性能管理(APM)类监控产品。

借助本产品,您可以基于应用、业务自定义等维度,迅速便捷地为企业构建秒级响应的应用监控能力。

2. 产品功能

2.1. 首页大盘

服务列表

服务列表页面如下,为用户可看到的所有服务指标大盘,大盘展示的为最近5分钟的数据。

排行榜

排行榜页面如下,可展示用户可看到所有服务查询时间范围内排名前十的Http请求量、平均响应时间、异常数量、慢请求数量以及MySQL慢请求数量,根据服务聚合,按照数量倒序。

2.2. 服务总览

概览分析

概览分析页面如下,可以支持显示指定服务的指定时间内的概览分析数据,HTTP请求量及平均响应时间、MySQL请求量及平均响应时间图表。

拓扑图

支持展示指定时间段内指定服务调用关系,支持显示上下级服务。

鼠标移动到服务和连接线上可显示指定服务或调用关系的错误率、请求速率和平均响应时间。

2.3. 服务异常

主要展示异常次数、异常分布图表、根据异常名聚合表格。

点击“调用统计”,可以查看指定异常的调用情况图表:

2.4. 服务调用

主要展示HTTP、 RocketMQ provider的图表。

HTTP

包括请求量、平均响应时间、异常数、状态码图表以及分接口URI统计的表格

RocketMQ Provider

主要展示RocketMQ 调用指标,平均响应时间支持分位数统计。

2.5. 服务依赖

主要展示服务调用方调用MySQL、Redis、RocketMQ的指标。

可选定服务实例的IP,若选定则只统计当前实例的数据。

MySQL

展示服务调用MySQL请求量及平均响应时间、慢SQL调用及平均响应时间、SQL类型分布及根据方法和SQL语句分组统计表格。

平均响应时间支持分位数统计。

Redis

主要展示Redis相关调用指标,如调用量、平均响应时间、类型分布和根据客户端类型及操作命令类型等分组的表格。

RocketMQ Consumer

主要展示RocketMQ消费者相关指标,如消费量、平均响应时间、消费错误量图表及根据Broker和Topic分组表格。

serviceDepend-rmq

2.6. 服务日志

检索目前支持 traceId、spanId、ip、线程标识、日志名称、日志内容、日志等级、行数、类名、方法名、异常类型、异常堆栈 等关键字维度检索

2.7. 链路追踪

点击查询条件,进入多维度查询。

traceId支持单个查询和列表查询,spanName支持单个查询和列表查询(切换=和IN),duration支持单个span耗时查询,如勾选仅查看异常链路则只查询带有异常span的链路。

2.8. JVM监控

监控JVM数据,包括线程数、各状态线程数、堆内存、GC、非堆内存数据。

2.9. 服务环境

主要展示服务的Agent状态和依赖信息。

Agent状态

展示选定服务下各个实例注册的Agent情况,运行状态、运行时长、版本等信息。

当Agent版本号或运行状态异常时,将提示信息,请按照提示信息操作。

正常情况下,Agent运行状态和Agent版本号为绿色,异常状态为黄色。

依赖信息

展示指定服务下的maven依赖,包括MainJar、Spring、SpringBoot、RPC框架、注册中心、MQ、日志框架、ORM、存储以及其它类型依赖。

2.10. 服务设置

主要涉及指定服务Agent各个维度的控制,点击保存按钮保存所有设置。

Agent 开关设置

  • 指标开关:负责开关指标监控,实时生效。关闭后无法监控指标数据。
  • 链路开关:负责开关链路收集,实时生效。关闭后无法监控应用链路。
  • 插件开关:展示目前支持开关的插件,取消勾选将关闭对应的指标监控和链路追踪功能,重启生效。

阈值设置

  • 慢SQL查询阈值:关联服务总览和MySQL监控中的慢SQL监控,只有查询时间大于该值的SQL查询会被标记为慢SQL。
  • 接口慢调用阈值:关联服务总览的慢调用,只有查询时间大于该值的接口调用会被标记为慢调用。
  • 分度值最大采集值:关联各个分度值图表展示
  • 分度值最小采集值:关联各个分度值图表展示

高级设置

  • 采集SQL最大长度:链路和指标中采集最大长度的SQL,超出部分会被截断。
  • 接口调用过滤:配置无需上报的接口URI,支持AntPathPattern格式,英文逗号分隔
  • ? 匹配1个字符
  • * 匹配0个或多个字符
  • ** 匹配0个或多个目录(只能出现一个**)
  • {spring:[a-z]+} 匹配正则 [a-z]+ 名称为 "spring"的路径变量

Examples

  • com/t?st.jsp — 匹配 com/test.jsp 同时也可以匹配 com/tast.jspcom/txst.jsp
  • com/*.jsp — 匹配 所有 com 路径下所有.jsp
  • com/**/test.jsp — 匹配 所有 com 多层级路径下test.jsp
  • org/springframework/**/*.jsp — 匹配 所有 org/springframework 多层级路径下 .jsp
  • org/**/servlet/bla.jsp — 匹配 org/springframework/servlet/bla.jsp 同时也匹配org/springframework/testing/servlet/bla.jsporg/servlet/bla.jsp
  • com/{filename:\\w+}.jsp — 匹配 com/test.jsp 并且将值 test 赋予 filename 变量
  • 异常过滤:过滤服务异常页面的异常统计图表展示的异常数据,支持异常全类名匹配,英文逗号分隔。
  • 自定义方法追踪:符合配置格式的方法将会在链路追踪中记录为一个单独的span。

2.11. 告警监控

告警规则

基本配置:

提供了普遍适用绝大部分应用的告警模板,且提供了最合适的参数。

通知配置:

一些参数解释如下:

TIP

执行频率(秒): 每隔${}秒,查到了数据就表示当次有监控数据触发了规则

持续时长(秒):比如你的执行频率设置30,这个设置120,就是连续检测120/30=4次才触发,可以避免“时好时坏”的场景,否则告警会频繁发送

启用恢复通知 : 告警恢复时也发送通知

留观时长(秒):告警引擎发现在最近一次计算后发现告警恢复,需要等待观察多少秒才算“真正的恢复”,偶然的一次计算发现恢复,其实并不算真正的恢复的;如不设置,对于“时好时坏”的场景,恢复通知会频繁发送

重复发送频率(分钟):如果告警持续未恢复,间隔${}分钟之后重复发送

最大发送次数:如果值为0,则一直发

筛选条件:

筛选条件支持两个维度进行统计,默认是无维度统计

  • 无维度

无维度表示以当前应用进行分组,不再细分提供的筛选条件。

  • =

可准确、正则 匹配 一个或者多个 条件,分组聚合统计。

其中条件为可选框,为最近一天记录过出现的指标,用户也可以自定义输入。

其中 .* 表示正则匹配,比如 /common.* 可以匹配 /common/get/common/get/rule

  • 遍历

遍历表示以筛选条件为分组,遍历统计符合阈值的数据。其中遍历后的

TIP

举例,MOP部署在容器,其中有2个实例,IP分别为172、173。假如最近5分钟 172产生2次GC、173产生3次GC

以 JVM-GC次数 筛选条件IP为例,设置 阈值 为 3 ,比较算法 为 大于等于。

1、无维度;聚合后结果 为 2+3 = 5,触发告警

2、=;若输入为172,则聚合后的结果 为 2,不告警;若输入172、173 ,IP为 173 的会告警。

3、遍历;以IP为维度遍历,产生两组数组,分别和阈值比较,即 IP为 173 的会告警。

类似于MySQL 的 group by 。

在一些告警模版里面,筛选条件 = 可能没有意义。比如 JVM,IP =无意义,因为容器会重启,选择遍历更合理;但是在HTTP,uri = 就很重要,意味着用户可以根据特定的接口进行配置,因为接口不会改变。

告警历史

告警历史显示了已触发的所有告警记录,告警历史根据 触发时间 降序排列。

同一个告警规则可能会触发多次告警,如果告警规则已恢复,则表示此次告警闭环。

若下次再命中该规则,将再次触发告警,也会产生新的 告警历史 记录。

3. 支持的插件

  • httpservlet
  • httpUrlConnection
  • jdbc
  • springmvc
  • mybatis
  • jedis
  • lettuce
  • redisson
  • sentinel
  • rocketmq