Appearance
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分组表格。
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.jsp
或com/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.jsp
和org/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