微服务系统硬件要求_全面解析微服务系统监控分层,啃透服务治理核心!

2023-11-20

架构师(JiaGouX)我们都是架构师!
架构未来,你来不来?

97b48fc03ff91ddb19282d1af45b7efc.png

-     前言     -

“监控”是微服务治理的一个重要环节,监控系统的完善程度直接影响到我们微服务质量的好坏,我们的微服务在线上运行时,有没有一套完善的监控体系能去了解到它的健康情况,这对整个系统的可靠性和稳定性非常重要。

97b48fc03ff91ddb19282d1af45b7efc.png

-     微服务监控体系的层级架构     -

1、五个层级的监控

一个比较完善的微服务监控体系需要涉及到哪些层级?如下图所示,大致可以划分为五个层级的监控:

58252461d84f3f688f11622100a37eaa.png
2、最底层基础设施监控

这层一般由运维人员负责,涉及到的方面比较接近硬件体系,例如网络,交换机,路由器等低层设备,这些设备的可靠性稳定性就直接影响到上层服务应用的稳定性,所以需要对网络的流量,丢包情况、错包情况,连接数等等这些基础设施的核心指标进行监控。

3、系统层监控

这层涵盖了物理机、虚拟机、操作系统等,这些都是属于系统级别监控的方面,主要对几个核心指标进行监控,如cpu使用率、内存占用率,磁盘IO和网络带宽情况。

4、应用层监控

这层涉及到方面和服务紧密相关,例如对url访问的性能,访问的调用数,访问的延迟,还有对服务提供性能进行监控,服务的错误率等,同时对sql也需要进行监控,查看是否有慢sql。对于cache来说,需要监控缓存的命中率和性能,每个服务的响应时间和qps等等。

5、业务监控

业务监控具体指什么?举个例子,比如说一个典型的交易网站,需要关注它的用户登录情况、注册情况、下单情况、支付情况等等,这些直接影响到实际触发的业务交易情况,这层监控可以提供给运营和公司高管们,提供他们需要关注的数据,直接以数据支撑公司在战略层面的决策和方向。

6、端用户体验监控

一个应用程序可能通过app、h5、pc端的方式交付到用户的手上,用户通过浏览器,客户端打开连到我们的服务,那么在用户端,用户的体验是怎么样?用户端的性能是怎么样?以及有没有产生错误等等……

这些信息都需要进行监控并记录下来,如果没有监控,有可能因为某些BUG或者性能问题,造成用户体验非常差,而我们并没有感知。

其中包括监控用户端的使用性能、返回码,在哪些城市地区,他们的使用情况是怎么样,还有运营商的情况,包括三大运营商不同用户的连接情况。我们需要进一步知道,是否有哪些渠道哪些用户接入的时候存在着问题,我们还需要知道客户端使用的操作系统浏览器的版本。

简单来说,这就是我们体系化的监控分层,每一个层级都非常重要。一般情况下,当一个问题出现时,较大概率会先暴露在用户端或业务层,比如说,我们的订单量下降了,业务人员和开发人员会先从上到下去逐层检查是在哪里出现了问题,先确定是否哪个接口调用比较慢,哪个服务调用出现延时,再看是否哪个机器负载过高了,然后再进一步往下一个层去看,是否是网络调用不稳定导致。所以,一个好的监控体系,在每个层级都非常重要。

97b48fc03ff91ddb19282d1af45b7efc.png

-     微服务监控的要点     -

1、五个监控要点

上文讲解的是从层级方面进行监控,接下来,我们来看看哪些要点可以进行监控:

a4d834690b51862d9250b20c85b95834.png
简单来说,可以分为以下五个点:

1、日志监控

2、Metrics监控

3、调用链监控

4、报警系统

5、健康检查

2、典型主流的监控架构
ec2f4c54f503fe8d3853a911905b2933.png

在微服务运行的体系下,我们一般把监控的agent分散到各个服务身边,agent分别是收集机器和服务的metrics,发送到后台监控系统,一般来说,我们的服务量非常大,在收集的过程中,会加入队列。一般来说用kafka等消息队列有个好处,两边可以进行解耦,可以起到庞大的日志进行一个缓存的地带,并且可以做到高可用,保证消息不会丢失。

日志收集目前比较流行的是ELK的一套解决方案(Elasticsearch,Logstash,Kibana),Elasticsearch 分布式搜索引擎,Logstash 是一个日志收集的agent,Kibana 是一个查询的日志界面。

metrice会采用一个时间序列的数据库,influxDB是最近比较主流时间数据库。

微服务的agent例如springboot也提供了健康检查的端点,可以检查cpu使用情况、内存使用情况、jvm使用情况,这些需要一个健康检查机制,能够定期对服务的健康和机器的健康进行check,比较常见的是nagios、zabbix等,这些开源平台能够定期去检查到各个微服务的检查程序并能够进行告警给相关人员,在服务未崩溃之前就可以进行提前的预先接入。

·END·


如果您喜欢本文,欢迎点击右上角,把文章分享到朋友圈~~

作者:陈于喆

来源:https://juejin.im/post/6844903846192349191

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

架构师

我们都是架构师!

892bbb58ceb6cd9621ff593418eaba5c.png

关注架构师(JiaGouX),添加“星标”

获取每天技术干货,一起成为牛逼架构师

技术群请加若飞:1321113940 进架构师群

投稿、合作、版权等邮箱:admin@137x.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微服务系统硬件要求_全面解析微服务系统监控分层,啃透服务治理核心! 的相关文章

  • 机器学习笔记1—泰勒展开式和牛顿法

    写在前面 自学机器学习的菜鸟一枚 希望通过记录博客的形式来记录自己一点点的进步 下面都是学习过程中自己的一些思考和学习 希望大神们批评指正 1 1 泰勒展开式 1 1 1泰勒展开式入门 首先 百度了一波 搜到了一个泰勒展开式入门的短短6分钟
  • Linux命令行基本用法总结【自用】

    1 awk 这条语句只能说非常牛逼 我还在傻傻的写程序处理字符文件时 被awk劝退 深度好文 http www zsythink net archives 1336 主要的用法就是 awk F分隔符默认为空格 BEGIN 代码 代码 END
  • apollo配置中心启动失败,坑的一批

    1 按照官方文档一步一步来的 启动失败 2 看启动日志发现是数据库连接的问题 3 可是我防火墙都关了 数据库设置的还是所有机器可连接 而且还是本机数据库 以为是数据库的原因 试了好多方法 甚至用了阿里云服务器中的数据库尝试 还是连接失败 有
  • python爬虫二十三:使用fiddler抓取app数据(三)

    1 什么是fiddler Fiddler是 个http协议调试代理 具 它能够记录并检查所有电脑和互联网之间的http https stp等通讯 它 持IE Chrome FireFox等等浏览器 可以在phone pad等移动设备进 连接
  • 13.前端jQuery之【入门要点】【选择器】【筛选器】

    目录 1 jQuery基本要点 2 jQuery选择器 3 jQuery筛选器 1 jQuery基本要点 1 jQuery 引入方式 write less do more 官网https jquery com 1 方式一 下载jQuery压
  • html align 属性,align-content

    align content属性 含义 设置自由盒内部各个项目在垂直方向排列方式 使用条件 必须对父元素设置自由盒属性display flex 并且设置为横向排列以及换行flex flow row wrap 这样这个属性的设置才会起作用 注意
  • 域名解析ip地址的过程

    浏览器会把输入的域名解析成对应的IP 其过程如下 1 查找浏览器缓存 因为浏览器一般会缓存DNS记录一段时间 不同浏览器的时间可能不一样 一般2 30分钟不等 浏览器去查找这些缓存 如果有缓存 直接返回IP 否则下一步 2 查找系统缓存 浏
  • C++之switch case语句详解

    我们已经了解 if else 可以用来描述一个 二岔路口 我们只能选择其中一条路来继续走 然而 有时候我们会遇到一些 多岔路口 的情况 用if else 语句来描述这种多岔路口会显得非常麻烦 而且容易把思路搅浑 比如程序4 2 2就是一个用
  • [计算机毕业设计]深度相机稀疏点云分类

    前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度的 对本科同学来说是充满挑战 为帮助大
  • ios系统脚本服务器加速,让iOS系统加速飞起来 speed intensifier插件让iOS系统加速

    由于系统的限制 在动画以及程序打开时间和速度方面基本上在iOS设备当中都是固定的 虽然默认的速度并不算太慢 基本上符合大多数用户的使用习惯 但是还是有一部分用户想方设法的想要让程序打开的速度变快一些 这里小编就带给大家一款名为 speed
  • 筛选sql中一列的重复数据及重复次数

    SELECT PROJECT CODE COUNT PROJECT CODE FROM meng project info GROUP BY PROJECT CODE HAVING COUNT PROJECT CODE gt 1 结果
  • TS复习-----TS中的类

    目录 概述 类的定义 类的继承 类的静态方法和属性 类里面的修饰符 抽象类 多态 getters与setters readonly修饰符 概述 类 Class 定义了一切事物的抽象特点 对象 Object 类的实例 面向对象 OOP 三大特
  • 使用windeployqt与inno setup实现windows下Qt程序发布打包

    一 使用windeployqt拷贝依赖文件 在发布生成的exe程序时 需要复制一大堆dll 如果自己去复制dll 很可能丢三落四 导致exe在别的电脑里无法正常运行 因此Qt官方开发环境里自带了一个工具 windeployqt exe 1
  • HR 宏

    表TRMAC 程序DBPNPMAC 转载于 https www cnblogs com CtrlS p 10818285 html
  • Tableau 中的组(group)与集(set)

    使用tableau也好长时间了 最近有同事问我tableau中组和集有什么区别 那今天就谈谈我个人对组和集的一些理解 也算是一个回顾 理解不对之处还望大牛们及时指正 1 首先看看官方的定义 组是构成更高级别类别的维度成员的组合 单独理解的确
  • Error:(923) Apostrophe not preceded by \ (in %1$s's )

    问题描述 在使用Android的strings xml时 英文版会遇到许多简写 其中 s 和 t时经常使用的 如果直接使用编译无法通过就报标题所示错误 解决方法 主要原因是 是特殊字符 需要转义 加 既可解决 示例 xx s thing 修
  • VMware 中搭建 SylixOS 环境

    1 制作 x86 平台 U 盘启动盘 详细步骤见 RealEvo IDE 使用手册 第八章 制作成功后插入 U 盘 2 创建 VMware 虚拟机设备 打开 VMware 这里使用版本为 15 5 6 点击 创建新的虚拟机 按如下步骤创建虚
  • linux 如何查看进程端口号,在linux中查看进程占用的端口号

    在Linux 上的 etc services 文件可以查看到更多关于保留端口的信息 可以使用以下六种方法查看端口信息 ss 可以用于转储套接字统计信息 netstat 可以显示打开的套接字列表 lsof 可以列出打开的文件 nmap 是网络
  • srand(time(NULL))

    srand函数是随机数发生器的初始化函数 原型 void srand unsigned seed 用法 它初始化随机种子 会提供一个种子 这个种子会对应一个随机数 如果使用相同的种子后面的rand 函数会出现一样的随机数 如 srand 1

随机推荐

  • 什么是页面文件使用率

    你好 很高兴能看到你的问题 也很高兴我能够回答你的问题 你提问 什么是页面文件使用率 首先我们必须要了解什么叫 页面文件 页面文件是一个存放在硬盘上的文件 大多数情况下都放在系统磁盘 如C 盘 的根目录下 这个文件不允许用户访问 只能够被操
  • 简单的文件内容繁简体甄别

    在做国际化的时候 很多旧文件中的简体或者繁体 需要优化 一个一个找很麻烦 于是在查阅资料后 自己编写了一个简单的工具 废话不多说 上码子 插件 mui ui vue js jquery 項目是 hbuildx 直接創建的 change la
  • pip相关命令

    查看当前pip源 pip config list 更改pip源 pip config set global index url 清华源网址 升级pip python m pip install upgrade pip 安装模块 pip in
  • vue3中路由的使用

    路由是什么 vue中的路由是用来管理页面切换或跳转的一种方式 Vue Router是vue官方的路由管理器 1 Vue Router的安装 需要先弄好npm npm install vue router 4 s 在安装完成之后 开始尝试简单
  • BT蓝牙协议 — HFP/HSP的关联与区别

    一 前言 有时 我们能看到有的蓝牙产品标明支持HFP HSP 而有的产品却只标注了支持HFP 那么HFP or HSP是什么呢 又有什么样的关系呢 二 HSP协议 HSP Headset Profile 耳机模式 仅实现了最基本的通话操作
  • c语言判断一个数是否为偶数

    include
  • 图解五种磁盘调度算法, FCFS, SSTF, SCAN, C-SCAN, LOOK

    一 FCFS 调度 先来先服务 磁盘调度的最简单形式当然是先来先服务 FCFS 算法 虽然这种算法比较公平 但是它通常并不提供最快的服务 例如 考虑一个磁盘队列 其 I O 请求块的柱面的顺序如下 98 183 37 122 14 124
  • 华为OD机试 Python 【TLV解析】

    题目 题目简述 你收到了一串由两端设备传递的TLV格式的消息 现在你需要根据这串消息生成一个对应的 tag length valueOffset 列表 详细说明 这串消息其实是由许多小组成的 每一小组里包含了tag length value
  • win可以上网,但是右下方显示“无internet链接“

    使用了下面链接的方法 成功解决 Win10可以联网但右下角显示无法连接到Internet怎办 首先 打开控制面板 control 右上角 将查看方式切换为小图标 调整计算机的设置下 找到并点击网络和共享中心 网络和共享中心窗口 左侧点击更改
  • 苹果鼠标win10不能滑动_解决WIN10使用苹果鼠标滚轮不能使用的问题

    这个花费了蛮多时间却解决不了 网上流行各种各样的尝试 还有很多的安装包 都试了一遍 无一解决 绝望的时候 看到有个网友发的云盘链接 感谢 花小柏 一安装即可使用 太感谢了 最后也分享给大家 链接 https pan baidu com s
  • Linux运维脚本

    20200911 这里记录一些平时使用的脚本 免密登陆什么的 免密登陆 bin bash f root ssh id rsa pub ssh keygen t rsa P f root ssh id rsa gt dev null expe
  • 【2023版】最新stable diffusion安装教程,一键安装,永久使用,stable diffusion下载安装教程!

    关于现在非常红火的AI绘画 很多感兴趣的人不知道如何入手 如果你的电脑配置足够好 那么不要犹豫 让我来教你如何在本地电脑全免费运行当下最强大的AI绘画工具 Stable Diffusion 吧 一 Stable Diffusion 是什么
  • cmake Targets:CMake如何构建简单的Target

    CMake有三个基本命令 用于定义CMake Target 分别是 add executable 构建exe add library 构建库 add custom target 自定义构建目标在camke构建阶段运行的 add execut
  • go 进阶 go-zero相关: 七. 拦截器与熔断拦截器

    目录 一 拦截器的基础使用 1 服务端拦截器 2 客户端拦截器 二 拦截器底层底层执行原理 三 go zero默认添加的拦截器 客户端 1 熔断器拦截器 BreakerInterceptor 服务端 一 拦截器的基础使用 在go zero
  • 设计模式-享元模式

    一 概念 如果在一个系统中存在多个相同的对象 那么只需要共享一份对象的拷贝 而不必为每一次使用都创建新的对象 目的是提高系统性能 上面的概念乍一听好像单例模式其实不是 单例模式只保存一个对象 但是这里可以有很多个不同对象 但是每个对象只有一
  • ChatGPT火了,将给网络安全行业带来什么影响?

    ChatGPT是一个基于人工智能的聊天机器人 它是使用OpenAI的GPT技术构建的 能够根据用户输入的语言自动生成响应 ChatGPT可以回答各种问题 提供建议和支持 以及进行闲聊和娱乐等 它旨在为用户提供一个方便 快捷 智能的交互方式
  • 蓝桥杯-稍大的字符串

    题目 标题 稍大的串 串可以按照字典序进行比较 例如 abcd 小于 abdc 如果给定一个串 打乱组成它的字母 重新排列 可以得到许多不同的串 在这些不同的串中 有一个串刚好给定的串稍微大一些 科学地说 它是大于已知串的所有串中最小的串
  • filter函数的用法_动态数组函数系列5

    FILTER函数是筛选函数 就是在源数据中按照我们的条件筛选出我们想要的数据 除了常规的数据筛选 还可以进行多条件的 且 或者 或 的筛选 下面我们来看看这个FILTER函数怎么用 如果不想看文字 直接拉到最后看视频吧 FILTER函数语法
  • 属性,服务,事件

    属性 即设备支持的可读和 或可设置的参数功能 以一个灯为例 灯的开关就可以定义为一个属性 用户可以读取该属性的当前数值来得知灯的开关状态 也可以通过对该属性进行设置来打开或者关闭这个灯 服务 如果设备的某个功能只能设置 不能获取 那么可以将
  • 微服务系统硬件要求_全面解析微服务系统监控分层,啃透服务治理核心!

    架构师 JiaGouX 我们都是架构师 架构未来 你来不来 前言 监控 是微服务治理的一个重要环节 监控系统的完善程度直接影响到我们微服务质量的好坏 我们的微服务在线上运行时 有没有一套完善的监控体系能去了解到它的健康情况 这对整个系统的可