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

真实的监控案例举例。

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值