系统稳定性监控

news/2025/10/17 20:34:03/文章来源:https://www.cnblogs.com/sunnycc/p/19104982

系统监控告警在研发日常运营中扮演着关键角色。没有监控,线上应用的运行就如同一个黑盒,无法预知潜在问题,往往只能依靠客服或用户反馈来发现。但此时,可能已经错过了最佳解决时机,甚至导致用户流失。

 

一:系统监控

序号

问题

方案

1

为什么要做应用系统监控

通过持续追踪系统运行状态,确保稳定性、性能及业务连续性,同时为优化提供数据支撑,让程序员全面了解系统实时现状、有利于发现和排除问题。

2

用系统监控优点

1.实时发现系统性能问题(服务器性能、接口性能)

2.识别系统瓶颈(如数据库慢查询、内存泄漏、磁盘读写)

3.识别系统利用率根据实际情况进行扩缩容,降低成本。

3

用系统监控缺点

1.监控工具可能系统资源。

2.阈值设置不当对应用成员造成干扰。

3.需要整合多个监控工具,维护成本高。

4

如何设置合理的阈值

CPU、内存、磁盘使用率达到80%

接口性能:根据实际情况设置TPS、TP99、成功率/失败率、可用率、接口调用量进行合理设置。

日志输出:针对通用异常日志,业务异常日志进行分类监控。

数据库:根据数据库实际套餐监控连接数据、QPS、TPS、慢SQL、缓存命中率进行监控

缓存:根据数据库实际套餐监控连接数据、QPS、TPS、内存容量进行监控。

5

怎么才算完成的成体系的应用系统监控

1.全面覆盖:从基础设施到业务指标无死角监控。

2.智能告警:减少误报,分级响应。

3.闭环管理:监控→告警→处理→优化形成正向循环。

4.成本可控:平衡监控粒度与资源消耗

 

应用系统监控包括:CPU、内存、磁盘、网络流入流出、接口性能、日志输出、数据库、缓存、线程池、消息队列。

 

二:日志输出及其监控

记录日志时请思考:这些日志真的有人看吗?看到这条日志你能做什么?能不能给问题排查带来好处?

序号

问题

方案

1

日志优点

1.日志输出有利于程序员跟踪用户活动轨迹,快速定位异常情况。

2.对程序异常,用户异常,异常攻击可有效提前发现,减少客诉或资产损失。

2

日志缺点

1.日志打印会消耗CPU、内存、磁盘、增加接口耗时。

2.日志输出过大可能操作系统读写问题甚至导致内存溢出。

3.日志中涉及敏感信息有可能泄漏用户信息。

3

怎么才算好的日志

1.不同的场景设置不同的日志级别。

2.日志输出要包含时间,日志级别,方法描述、方法名称、用户信息,线程编号。

3.日志输出要能输出关键信息但又不能冗余,非高并发场景可进行JSON序列化便于观察。

4.打印日志输入参数时,禁止使用+的方式拼接字符串,需使用{}进行格式化并输出

5.针对日志输出必须有动态控制

6.异常信息要有案发现场信息和异常堆栈信息。

7.日志按照时间和文件大小进行拆分,每个文件不超过1G

4

如何对日志进行监控起到提前预警但又不多报情况

1.对代码中的空指针、数组越界、RPC等等通用告警进行监控但要设置每秒或每10秒的频次。

2.对系统级别的异常入内存泄漏,内存异常,线程池耗尽,GC等单次就需要预警。

3.对接口级别的逻辑异常、系统异常,三方接口异常要设置监控频次。

4.对交易日志、如提单下单、发奖等等要从严监控。

5

如何将日志串联起来

1.打印接口的线程id,日志时间、用户唯一信息、用户轨迹的每步信息(用户事件内的每个接口出入参)

6

在那些环节进行日志输出

1.接口的出入参,任务的启动和停止、消息的发送和接收

2.三方接口的出入参。

3.接口逻辑退出处输出退出原因。

4.trycatch处输出异常信息,一个业务要提前规划好tryCatch的逻辑,过多的tryCatch影响性能,对日志监控也造成困难。

7

在哪些环节进行日志监控呢

1.通用的异常信息。

2.系统异常的异常信息。

3.三方接口的异常信息,任务的启动和停止、消息的发送和接收。

4.涉及用户交易或资金方面的场景进行异常监控。

5针对不同的异常进行不同频次的预警

 

三:接口性能监控

序号

问题

方案

1

为什么要对接口性能进行监控

接口性能直接影响用户体验和业务连续性,监控能提前发现潜在问题(如响应变慢、错误率上升)

2

接口性能进行监控优点:

1.用户感知前提前发现问题。

2.有利用快速定位问题。

3.可建立实时监控大盘,对系统进行全面监控。

3

接口性能进行监控缺点:

1.对接口进行监控需要引入插件,会占用CPU、内存、磁盘、会增加系统消耗和增加接口耗时

2.阈值设置过高无法及时触发告警,阈值设置过低会频繁告警干扰应用成员。

4

监控指标都有哪些

1.TPS、TP99、成功率/失败率、可用率。

5

如何对各项指标设置监控合理值

1.TPS基于基线波动30%,

2.TP99基于接口基线波动1.5倍

3.成功率/失败率根据实际业务场景配置,如有防刷,风控,业务校验等等,首先要排除业务异常码,一般设置成功率低于90%。

4.可用率:体现系统服务是否正常的标准,一般要求较高需达98%

5.调用量:基于外部要求设置合理的限流值,当调用量达到80%时要提前告警

6

接口性能监控告警后如何处理

1.TPS飙升:看是否某渠道忽然进量,是否有限流配置(保护自己和下游)。

2.TP99飙升:观察是否内部外部原因,内部观察是逻辑问题还是数据库问题 ,外部原因快速沟通相关研发,另外看是否有降级

3.成功率/失败率异常:观察是否内部外部原因,内部观察是逻辑问题还是数据库问题 ,外部原因快速沟通相关研发,另外看是否有降级

4.可用率:观察服务是否的,每天服务器的接口是否均上线或下线

 

四:业务数据监控

 

序号

问题

方案

1

为什么要建设业务数据监控

线上风险感知与把控,在整个软件开发测试周期占据越来越重要的位置,一次事故就可能让大家长时间的努力付诸东流,通过实时/准实时追踪业务关键指标,确保业务健康运行,辅助决策并快速响应异常。

2

建设业务数据监控优点

1.快速发现业务异常(如订单量骤降、用户流失、发奖量飙升)

2.提前预警可有效减少资产损失或客诉

3.自动化监控减少人工巡检成本。

3

建设业务数据监控缺点

1.需投入开发、维护资源。

2.阈值设置过高无法及时触发告警,阈值设置过低会频繁告警干扰应用成员。

4

建设指标都是有哪些

关键交易数据的同比、环比、与最近x分组相比波动多少。

优惠券发放的的同比、环比、与最近x分组相比波动多少。

业务转化的成功失败数,成功失败比例。

5

预警值设置多少合理

根据真实数据和实际情况信息设定,。如:提单和支付成功比例波动30%, 如提单与昨日环比波动20%, 如发奖失败比例3%

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/939150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

USACO 绿-蓝 思维题小记

P6005 [USACO20JAN] Time is Mooney G dj 跑最长路是错的,可以以经过边数为阶段 \(O(nm)\) dp P6149 [USACO20FEB] Triangles S 枚举每个点,四个象限分讨,前缀和+二分做完 P6278 [USACO20OPEN] Haircut G 我的想法是…

Day16-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\classlei

Random()java.lang.Math.Random 调用这个Math.Random()能返回带正号的double值,该值[0.0,1.0),该返回值是一个伪随机选择的数,在该范围内近似均匀分布 public class random {public static void main(String[] args…

一个实用的短视频脚本创作指令分享

整理了一套结构化的AI指令,专门用来生成抖音短视频脚本。实测下来效果不错,这里分享给有需要的朋友。上周帮朋友优化了几个短视频脚本,发现很多人卡在"知道要拍什么,但不知道怎么拍"这个环节。于是整理了…

redis和mysql之间的数据一致性

解决双写一致性问题的主要策略 1、旁路缓存模式(Cache Aside Pattern) 在这个模式中,我们一般都是先更新数据库再删除旧缓存。 首先,为什么我们不选择先删除缓存再更新数据库,因为这样会导致在并发的情况下,假如A线…

ubuntu允许root登录桌面系统

1.设置root密码 sudo passwd root2.解锁root sudo passwd -u root 3.允许root登录 sudo nano /etc/gdm3/custom.conf# [Security] 下添加一下行AllowRoot=truesudo nano /etc/pam.d/gdm-password#注释或删掉以下行au…

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​​ 专门为申威(sw_64)架构的电脑打造的Java 8运行环境。 ​1. 下载文件​ 安装包下载:https://pan.quark.cn/s/936281541bdf ,确保你已经下载了 java-1.8.…

AI协科学家:技术革命还是安全噩梦?

本期节目深入探讨AI协科学家如何推动科学突破,分析基于智能体架构中的安全黑洞问题,讨论人类是否准备好让AI处理所有日常任务,并揭示相关技术风险与挑战。在《两个漏洞之间》的这期特别节目中,我们紧接着上个月的内…

一个决定

一个决定在家毛了好几天了,一个原因是下雨,一个原因是家里有大显示器。 但是家里的效率奇差。 自己做饭,一日三餐得刷碗,然后吃饭得时候刷剧,吃完饭了,还很难抽离出来。 今天好了,炒白菜得时候加了两勺我妈今年…

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

npm镜像配置

npm全称Node Package Manager,是node.js的模块依赖管理工具。由于npm的源在国外,所以国内用户使用起来各种不方便。下面整理出了一部分国内优秀的npm镜像资源,国内用户可以选择使用。 国内优秀npm镜像淘宝npm镜像搜…

一些特性

原始字符串(Raw String Literals) C++ 11特性 一种所见即所得的东西,可以完美返回你想要的字符串,包括换行等等 大体长这样 R"()"使用方式如 string k = R"(asdfasd sd gf a)"; cout <<…

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统2025-10-17 20:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: …

计算机视觉技术与应用深度解析

本文详细介绍了计算机视觉技术在电商推荐、无人机导航、广告生成等领域的实际应用,探讨了视觉语言模型的架构设计与抗幻觉技术,并分析了云端AI服务的三层技术栈构建原理。计算机视觉技术与应用深度解析 在今年的计算…

央链知播受权发布:图说《“可信资产 IPO + 数链金融 RWA” 链改 2.0 六方共识》 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AGC 板刷记录1

准备板刷 \(\text{agc}\),顺便写一个做题记录 [AGC072A] Rhythm Game 感觉水黑吧,洛谷恶评。 一眼就能看出不是贪心就是 \(\text{dp}\),发现其实两者兼有,首先把这个题转化成:有若干个任务,第 \(i\) 个任务在 \(…

2025.10.17总结

心理咨询完成聊天室功能,有点小bug,但是整体上功能已经较为完善了,修修改改后去进行心理视频学习,或心理测评模块的开发

记Windows 11环境Rust下载安装配置流程

记Windows 11环境Rust下载安装配置流程 一、Rustup下载按我的理解,这个工具类似于Steam,Rust则是你要安装的游戏,你可以在这个下载器命令行界面进行对Rust的镜像源、安装位置配置。在Rust官网链接下载Rustup下载器。…

K8s学习笔记(九) job与cronjob - 教程

K8s学习笔记(九) job与cronjob - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…

[HZOI]CSP-S模拟33

挂分场CSP-S模拟33今天是挂分场,总计挂分 132 tps。。。T1:Divisors 大简单题。 这里粘一个结论,然后直接暴力做就行了。 结论 $ [1,1e5] 内 因子个数max = 128 (83160) $ $ [1,1e6] 内 因子个数max = 240 (720720)…

[PaperReading] VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual Documents

目录VLM2Vec-V2: Advancing Multimodal Embedding for Videos, Images, and Visual DocumentsTL;DRMethodQ:VLM2Vec-V2与原始VLM2Vec算法有什么区别?BenchmarkQ&AQ:CLS, QA, RET, GD, Overall这些指标是什么含义…