监控之我见

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

相关文章

流媒体平台/视频监控/安防视频汇聚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后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健

145-Linux权限维持Rootkit后门Strace监控Alias别名Cron定时任务

参考 【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务_alias ls='alerts(){ ls $* --color=auto;python -c "-CSDN博客 参考 FlowUs 息流 - 新一代生产力工具 权限维持-Linux-定时任务-Cron后门 利用系统的定时任务功能进行反弹Shell 1、编辑后门反弹shell脚本

828华为云征文|基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

先看这里 写在前面效果图华为云Flexus云服务器X实例介绍特点可选配置购买 连接服务器Uptime-kuma简介开源信息部署准备工作:docker部署命令访问uptime-kuma 基本配置总结 写在前面 作为一个个人开发者,相信你手里肯定也有不少自己的服务,有的服务呢也是https的。 以前ssl各厂都是可以免费申请一年的,我们更换的频率还好,比较小;但是最近,各厂都

nmon服务器监控工具使用

nmon:是一个分析linux服务器性能的免费工具,可以用来帮助我们整体性的分析服务端的CPU,内存,网络,IO,虚拟内存等指标 下载nmon.jar包及分析文件:百度网盘 链接: 提取码: 0000 一、nmon配置及使用 通过xfpt工具把nmon包上传到新建的/usr/local/nmon目录下 在nmon目录下解压nmon包 tar -zxvf nmon16e_mpginc.tar

Java应用对接pinpoint监控工具的时候,应用名称长度超出限制而导致接入失败

一、背景 java应用需要接入pinpoint,同一个虚拟机上的其他应用接入成功,唯独本应用不行。 首先排除是pinpoint agent的问题,因为其他应用都正常。 然后,我就对比二者的启动脚本。 -javaagent:/opt/pinpoint/pinpoint-bootstrap.jar -Dpinpoint.agentId=DA301004_17 -Dpinpoint.applic