首页 > 其他分享 >Monitoring Guide

Monitoring Guide

时间:2024-08-16 17:55:55浏览次数:10  
标签:Monitoring 应用 表格 业务 问题 监控 异常 Guide

监控的定义

监控就是发现和报告,通过持续监控基础设施、应用和业务运行情况,讲问题和需要的监控内容反馈给不同的团队人员。

主要有 2 类型:

  • 系统问题:软硬件相关问题(云基础服务),比如:程序异常、内存 FullGC 等,由于没有业务特征,监控策略适用于各个应用
  • 业务问题:在特定业务场景下定义的问题,比如:客户无法登录、业务数据异常等,需要根据业务特征来定制监控策略,同时基于业务需求可以提供实时业务监控大盘

监控的目标

  • 实时:要求对问题的发现和预警是实时的,缩短问题产生和发现的时延。了解项目背景、范围、相关业务域等,可以提供业务方所需要的业务监控信息和大盘;
  • 准备:要求监控和预警是准确的,包括对监控问题的定义,对预警阈值,预警等级,责任人的配置,避免误报;
  • 全面:预警信息是全面的,能够帮助排查和解决问题。

如何设计监控

  • 定义监控问题(定义):定义问题类型、原因、特征、影响、解决方案和责任人;定义过程中,对于业务问题和监控需求,需要业务方和 PO 团队给出需求说明;
  • 设计监控方案(设计):使用“实时”,“准确”和“全面”的监控目标来反复校正;
  • 实时监控方案(实施):选择监控工具,并按照监控方案的指导进行监控部署和运行;
  • 处理监控反馈(处理):在线上运行,收集监控反馈,根据告警信息进行问题处理;
  • 评估监控结果(优化):review 监控效果,是否满足监控方案里面定义关于“实时”,“准确”和“全面”的目标,并针对不合理的地方进行迭代优化。

对于业务问题的监控,推荐通过日志输出和云服务产生监控指标和大盘,具体参考 Logging Standard。

定义监控问题

定义监控问题 7 要素:

  • 问题名称
  • 问题类型
  • 问题原因
  • 问题特征
  • 问题影响
  • 解决方法
  • 负责人

监的根本是为了发现并定位问题

  • 监控的体系化设计思路可以从发现到定位要做的工作开始;
  • 要做到发现到定位之前,必须先了解,什么是问题,了解什么问题再进行分类
  • 业务为重中之重,一切为了业务负责
问题名称问题类型问题原因问题特征问题影响解决方法负责人
交易订单下跌超过xx%业务问题系统本身异常或关键链路调用异常1. 系统大量异常
2.关键链路调用QPS减少
无法下单根据监控指定解决方法
1. 单集群问题住呗容灾切换
2. 关键链路问题定位问题点解决(回滚新发布,灰度暂停等)
应用负责人
业务负责人
Java系统异常系统问题程序异常Java程序抛出异常信息,通过异常堆栈可排查快速定位原因系统无法正常工作根据日志排查和修复异常应用负责人

制定监控策略

从问题排查角度

监控能力考量

  • 关键指标的监控发现能力;
  • 对集群个体、整体、直接依赖全方位的监控能力;
  • 粗细结合的监控能力,粗粒度的监控,主要为了快速发现问题,通过细粒度监控能够快速定位问题。
    在这里插入图片描述

监控策略设计步骤

  1. 关键监控项梳理:从重要到非重要排序,从汇总到明细排序;
  2. 关键监控项的报警抽离分级:临界点报警,业务预警做重点关注报警;
  3. 监控不点开发和设计:捕获关键异常,对于关键异常进行日志记录,并在记录进行分级;对直接依赖的运行耗时进行日志记录;对反映业务指标运行情况进行日志记录;正确的处理错误码,http 层错误码正确分类,业务错误码定义相应规范;
  4. 监控展现设计:业务大盘,定位于以终为始的快速发现问题;应用大盘,定位于从汇总的角度来看是否是应用本身的问题;系统大盘,定于于系统发生问题时使用;
  5. 调试和调整报警规则:活动引流;节假日;业务调整;业务自然高峰和低峰期,在业务低峰期,同比环比阈值变化特别大,所以在业务低峰期,预警可以不设置(当然和具体业务有关)。

通用监控范围

业务实时监控

应用和业务监控,业务实时监控是针对金融级大规模分布式系统的监控解决方案,以日志、REST 接口等作为数据采集来源,提供业务、应用等多种视角的监控能力,帮助用户快速发现问题、定位问题、分析问题、解决问题,为线上系统的可用率提供有效保障。

云服务监控

收集获取云资源的监控指标或用户自定义的监控指标,探测服务可用性,以及针对指标设置警报,全面了解云上资源使用情况、业务运行状况和健康度,并及时收到异常报警做出反应,保证应用程序顺畅运行。

监控应用场景

为了实时发现运维过程中出现各自资源故障,及时发现、快速定位、及时修复,保证业务高可用,监控内容需要涵盖各个维度;另外需要具备灵活告警规则,是相应人员能够及时准确获取业务系统的情况;同时需要大盘能够快速从不同视角观察业务系统概览。

  • 基于资源的监控:可查询资源信息,并对资源(如:云服务器、数据库、负载均衡、中间件等)进行性能优化配置;
  • 基于应用的监控:包括系统硬件(CPU、负载、硬盘和内存等)、应用业务指标(SQL 耗时监测、页面访问量、调用量、数据库访问量)模板化监控;
  • 基于业务的监控:提供数据统计的监控产品类型,用于配置个性化的监控项,如:包括业务行为、业务维度、错误异常码、实例监控、流量、数据指标等。

在这里插入图片描述

业务监控

提供从业务视角衡量应用性能和稳定性的新方式,对业务的关键交易或链路进行全链路的监控。业务监控通过追踪并采集应用程序中的业务信息,实时展现业务级的指标,例如业务的响应时长、次数和错误率,解决了应用程序和业务表现之间无法映射关联的难题。

业务或 PO 负责人应用梳理业务描述,包括:

  • 业务行为:用来描述业务的动作过程,通常是个动词,如:交易创建;
  • 业务维度:用来描述业务属性的信息,如:交易创建的商户、来源、地域、机构等名词;
  • 异常错误码:从异常或状态码的角度来看业务,状态如何体现、错误如何语义化表示等;
  • 实例监控:通过单笔(一次)业务行为来看业务,其中的极限值、某一次是怎么样的。

基于上述的统计,确保日志中能够涵盖上述指标,按照不同的视角去监控业务健康度。

业务监控常见大盘和告警设置

大盘是将已配置好的数据源,集中在一个页面上以报表形式呈现,大盘只用于数据展现,没有预警功能;

常见报表类型:

  • 最近 10 分钟表格
    • 趋势图
    • 当前分钟多 Key 竖铺表格
    • 多分钟多 Key 竖铺表格
    • 最近 10 分钟多 Key 表格
    • 秒级表格
    • 秒级多 Key 表格
  • 常用业务表格
    • 应用错误 Top
    • Top 数据源系列表格
    • 应用监控相关报表
    • 数据归档报表
    • Key 横竖 MAP 表格(高级)
    • 数据展示支持多种函数运算
AWS 常见设置 - TBD
阿里云 常见设置 - TBD

业务监控案例 - TBD

真实的监控案例举例。

标签:Monitoring,应用,表格,业务,问题,监控,异常,Guide
From: https://blog.csdn.net/xiao_1xu/article/details/141157810

相关文章

  • 【A GUIDE TO CRC ERROR DETECTION ALGORITHM】 (译文3-Todo)
    11."Reflected"Table-DrivenImplementations“反射”表驱动实现Despitethefactthattheabovecodeisprobablyoptimizedaboutasmuchasitcouldbe,thisdidnotstopsomeenterprisingindividualsfrommakingthingsevenmorecomplicated.Toundersta......
  • 【A GUIDE TO CRC ERROR DETECTION ALGORITHM】 (译文2)
    6.AFullyWorkedExample一个完全可行的例子HavingdefinedCRCarithmetic,wecannowframeaCRCcalculationassimplyadivision,becausethat'sallitis!Thissectionfillsinthedetailsandgivesanexample.定义了CRC算法后,我们现在可以将CRC计算简单地......
  • 【A GUIDE TO CRC ERROR DETECTION ALGORITHM (译文)】上
    AGUIDETOCRCERRORDETECTIONALGORITHM(译文)《APAINLESSGUIDETOCRCERRORDETECTIONALGORITHM》Author:RossN.WilliamsCRC:CyclicRedundancyCheckEverythingyouwantedtoknowaboutCRCalgorithms,butwereafraidtoaskforfearthaterrorsiny......
  • java guide Spring Cloud Gateway 答疑1
    spring.cloud.nacos.config.refresh-enabled这个默认是true,用nacos可以让网关配置动态更新GlobalFilter实现自定义全局过滤器的接口,还有很多内置全局过滤器,如LoadBalancerClientFilter,内置的,用lb://就行非网关项目可以用@RestControllerAdvice和@ExceptionHandler,网关项目......
  • 性能数据采集分析(Guider开源项目集成)(第一次发帖,用于个人经验记录)
    https://github.com/iipeace/guiderpython环境下集成guider的经验分享初始化Guider环境:步骤一:PushPython-Guider环境假设python-guider环境是一个文件夹或者压缩文件,需要将其推送到Android设备上。假设该环境位于本地路径/path/to/python-guider。adbpush/path/to......
  • guide-rpc-framework 流程梳理
    开源项目https://github.com/Snailclimb/guide-rpc-framework在学习中记录下来的大致流程梳理,其中一些细节没有拉出来讲,主要是篇幅太长。NettyServerMain通过@Component注解拿到nettyRpcServerNettyRpcServernettyRpcServer=(NettyRpcServer)applicationContext.getBea......
  • 【ARM】v8架构programmer guide(2)_处理器及V8基础
    目录2.1ARMv8-A3.ARMv8的基础普通世界(Non-securestate)的特权组件:安全世界(Securestate)的特权组件:安全监视器(SecureMonitor):3.1executionstates执行状态3.2改变异常级别3.3改变executionstate(执行状态)2.1ARMv8-AARMv8-A引入众多改变:3.ARMv8......
  • (reading report)Careers in Science and Engineering A Student Planning Guide to G
    Chapter1Whatareyourcareergoals? howwelldoyourownskillsandpersonalitymatchthecareeryouimagine?面对新问题、新难题或新需求的挑战,你是否感到兴奋?自然世界的复杂性促使人们去理解它吗?如果是这样的话,科学和工程的学习——尽管严格——将为你提供实......
  • An Introductory Guide to Fine-Tuning LLMs
    AnIntroductoryGuidetoFine-TuningLLMshttps://www.datacamp.com/tutorial/fine-tuning-large-language-modelsFine-tuningLargeLanguageModels(LLMs)hasrevolutionizedNaturalLanguageProcessing(NLP),offeringunprecedentedcapabilitiesintaskslike......
  • 【FANUC】发那科机器人ROBOGUIDE安装教程(含安装包)
    ......