监控之我见

2024-05-27 08:08
文章标签 监控 之我见

本文主要是介绍监控之我见,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们想像中的监控?

我们想像中监控无所不能,是个超人。需要什么数据,它就能给我们什么数据;需要找到故障根源,它就能及时告知我们故障根源。





现实中的监控

可事实上并非如此,我们对监控寄予了太多,想到的就加上去,导致它越来越胖,越来越臃肿,但似乎并未解决我们的问题。



目前的监控平台和工具都很多,开源的、商业的、甚至我们自己开发的,但都真正的解决了我们的问题吗?



种类多样的监控工具





所以,多并不意味着好,或者说多并不意味着有用。真正解决问题即可,而不是将有用的没用的监控一股脑的全部搞出来,这样只会扰乱你的视线,分散你的注意力,影响你分析和梳理故障原因和性能瓶颈。

监控的目的

我们监控的目的到底是什么?一个好的监控需要帮助我们解决以下问题。

  • 掌握系统健康状况

  • 查找故障根源

  • 系统瓶颈诊断

  • 性能调优

  • 排查安全隐患

故障排查过程





故障发生时,我们查CPU、内存、进程、网络等等,同时还要对日志进行问题排查,php日志、apache/nginx日志、负载均衡及数据库的日志,很多时候我们排查日志还是在使用shell命令与脚本,对故障时间点日志进行过滤,整个处理过程都是回溯状态,无法做到实时,显得手忙脚乱还无法让我们尽快发现问题。另外,所有这些都是单点IT资源的问题排查,我们需要将各种监控联系起来分析考虑。
在微服务架构时代,这些单点资源的监控已经无法满足我们的需求。

为什么不理想?

  • 维度单一、排查点太多

  • 无法有效建立联系

  • 日志处理困难

  • 不实时

  • 依赖经验

我们的结论


监控必然面临着以上几个进化,从基础到业务、从静态到动态、从表象到本质。
面向业务的监控不仅仅关注技术层面的单点资源,而是关注整个业务系统的健康状态。
在实际场景中,使用业务监控可以替代技术监控,而且更加简单容易理解。
大量微服务如何同时监控?CPU?负载?显然不是这样。
同时又是我们平台上服务自动伸缩的依据。

业务指标

响应时间

指负载均衡将请求发给后端服务节点,经过处理后,再由后端节点返回给负载均衡的时间。这个值可以有效评估当前服务节点的处理能力并结合吞吐率了解当前前端访问的压力大小。单位是毫秒(ms)。

在线人数

指10分钟内访问你的网站或服务的人数,通过此监控项可以直观了解到在线用户数。

吞吐率

指1分钟内你的网站或服务的总访问次数。

实时服务监控





服务性能分析

  • 多维度

  • 实时

  • 智能

多维度使我们能够从广意上来全盘考虑,不再计较单一的资源情况,再好的把握多种监控数据之间的联系。
实时让我们更快速的了解当前的系统状态,而不是再回溯历史。
智能体现在对数据的处理排序上,抓住影响最大的关键点。

web服务性能分析





对过去5分钟耗时最多的URL进行排行,分析一个web服务当前影响性能的最关键点。

mysql服务性能分析





从我们的经验来说,对于解决数据库的故障问题,查找slowlog并不是最有效的方法,因为不一定最慢的是影响最大的,有些SQL是很慢,但数量并不多,也许1分钟1条,但有些SQL的耗时并不大,可是数量巨大,对性能影响就非常高,而且并不出现在slowlog中,所以综合耗时是关键。

通过服务性能分析可以直观的看到当时的问题url与问题sql,对排查故障根源非常有效。

时间窗口

对于动态实时的监控有一个很重要的概念就是时间窗口





简单来说就是一个 滑动窗口。固定好一个时间窗口对数据进行查询统计。
因为数据流是持续不断的,在对业务进行监控的时候,我们不会对所有的数据感兴趣,而是对“最近五分钟平均响应时间”、“最近十分钟URL排行”以及“当前在线人数”这类问题更关心,要得到这些数据,通过时间窗口对数据的查询计算即可解决我们的问题。

有哪些使用场景

  • 故障提前预知

  • 压力测试

  • 性能调优

监控的终级目的

现在我们回过头来再看看前文中说过的监控目的,这些目的其实都是一个“中间过程”,还停留在“把事儿给办了”的阶段,其实监控的终级目的或者说重要意义是“价值”。
我们不是为了监控而监控,是通过监控产生价值,产出利润。对我们的业务提供帮助,让业务来创造更多的价值。
所以我们不要将问题复杂化,要让复杂变得简单,才是我们的根本。

这篇关于监控之我见的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006909

相关文章

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

springboot健康检查监控全过程

《springboot健康检查监控全过程》文章介绍了SpringBoot如何使用Actuator和Micrometer进行健康检查和监控,通过配置和自定义健康指示器,开发者可以实时监控应用组件的状态,... 目录1. 引言重要性2. 配置Spring Boot ActuatorSpring Boot Act

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

kubernetes集群部署Zabbix监控平台

一、zabbix介绍 1.zabbix简介 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营。 2.zabbix特点 (1)安装与配置简单。 (2)可视化web管理界面。 (3)免费开源。 (4)支持中文。 (5)自动发现。 (6)分布式监控。 (7)实时绘图。 3.zabbix的主要功能

基于树梅派的视频监控机器人Verybot

最近这段时间做了一个基于树梅派 ( raspberry pi ) 的视频监控机器人平台 Verybot ,现在打算把这个机器人的一些图片、视频、设计思路进行公开,并且希望跟大家一起研究相关的各种问题,下面是两张机器人的照片:         图片1:                   图片2                    这个平台的基本组成是:

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健