被监控轰炸了,不得不使出绝招

2024-05-24 14:18

本文主要是介绍被监控轰炸了,不得不使出绝招,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原创:猿天地(微信公众号ID:cxytiandi),欢迎分享,转载请保留出处。

监控这个话题永远都不会过时,之前也有跟大家聊过监控的内容,以及如何快速实现监控满足日常需求。比如基于日志告警,基于全局异常处理器告警,基于Cat,Prometheus,Sentry等告警。

无论公司是什么规模,创业小公司,稳定大公司,你都需要做监控的呀。特别是大公司的监控做的更全,也更在意监控这件事情。小公司相对来说会好点,因为业务可能还不是很稳定,用户少,出故障就出呗,能修复就行。

监控的痛点

有监控总比没监控要强吧,但是监控多了也不见得是件好事。此处的监控多了有两层含义。

含义一:监控体系多或者说监控的框架多

很多时候,公司里的监控五花八门,有Sentry做异常告警,又有日志异常告警。有Cat又有SkyWalking,弄的你怀疑人生,到底用哪个,异常信息各种重复。
在这里插入图片描述

唯一的好处就是一有问题,你就慌的不行,怎么这么多异常告警。马上去排查问题了,导致自驱力非常好。

含义二:监控告警量多

监控框架多了,告警的数量自然是翻倍的,这点毋庸置疑。其实更为重要的一点是告警没有做等级划分,一顿乱报,导致告警群里一直有告警信息。有点像狼来了的意思,后面你就懒得去看了,因为太多了。

在这里插入图片描述

如何解决痛点

监控体系统一

首先,监控体系要进行整理,采用统一的监控框架。a但很多时候往往某一个框架无法满足所有需求,这种场景下就出现了混合使用,控制的不好就跟前面提的一样,五花八门了。

在某一个监控层面能够覆盖大部分的场景即可。如果不行,可能需要基于已有的开源监控体系进行自研扩展功能了。

告警定级

监控体系统一后,最大的问题就是异常的告警。是否所有的异常需要告警?告警能不能分类定级?

异常分为两种,运行时异常,比如NPE之类的。另一种非常多的就是业务异常,比如库存不足,商品已下架等。

对于运行时异常,一定是第一优先级,因为这就是Bug,需要马上关注并且处理。这类异常往往不会很多,如果非常多,那就是你的代码真的写的不咋的。

告警分类细化

对于业务异常,告警级别可以下降。这类异常虽然不能反馈系统有问题,但是能反馈业务的状态,还是需要稍微关注下。比如电商中最核心的下单接口,1分钟内下单失败100次,这种情况能不关注吗?必须得关注。

业务异常除了降级之外还得分类,这个就需要在抛出业务异常的时候声明对应的code码才行。这样在告警的时候直接带上对应的code码,一看便知什么问题。比如前面将的下单频繁失败,如果你只是告警说下单失败了多少,那么此时你一定很慌,因为你压根就不知道为什么?

还得屁颠屁颠的去看日志之类的,排查报错的真正原因。如果告警时就已经带上了code码 1001,你一看就知道,库存不足了,肯定是某个商品在抢购。code码1002风控校验超时了,马上联系风控的同学进行排查。这样的告警才符合标准,否则太累了。

最重要的是保留好现场数据,也就是出参响应以及traceId,否则谈何去解决这个告警问题

总结

改造完后,只有运行时异常或者某分钟内大量报错才会短信或者电话紧急告警,减少骚扰。其他业务异常等直接走钉钉啊,飞书啊这种告警群即可。告警群也可以细化,划分为需要关注的code和不需要关注的code, 分开不同的群,提高信息的精准度触达和消费。

本文主要讲的还是项目内的异常告警,其他的像一些中间件啊,数据库之类的告警就不用这么分了,这些一旦告警,无论是cpu飙高还是内存飙高都是很严重的问题,都需要关注以及做预案处理。

关于作者:尹吉欢,简单的技术爱好者,《Spring Cloud微服务-全栈技术与案例解析》, 《Spring Cloud微服务 入门 实战与进阶》作者, 公众号猿天地发起人。

这篇关于被监控轰炸了,不得不使出绝招的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

JVisualVM之Java性能监控与调优利器详解

《JVisualVM之Java性能监控与调优利器详解》本文将详细介绍JVisualVM的使用方法,并结合实际案例展示如何利用它进行性能调优,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1. JVisualVM简介2. JVisualVM的安装与启动2.1 启动JVisualVM2

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.