首页 > 其他分享 >微服务设计:监控

微服务设计:监控

时间:2023-07-06 22:33:32浏览次数:23  
标签:服务 调用 聚合 指标 监控 设计 日志

首先,我们希望监控主机本身。CPU、内存等所有这些主机的数据都有用。我们想知道,系统健康的时候它们应该是什么样子的,这样当它们超出边界值时,就可以发出警告。

接下来,我们要查看服务器本身的日志。如果用户报告了一个错误,这些日志应该可以告诉我们,在何时何地发生了这个错误。
最后,我们可能还想要监控应用程序本身。最低限度是要监控服务的响应时间。你可以通过查看运行服务的Web服务器,或者服务本身的日志做到这一点。如果我们想要更进一步,可能还需要追踪报告中错误出现的次数。
随着时间的推移,负载增加,我们发现系统需要扩容。
对于像响应时间这样的监控,我们可以在负载均衡器中进行追踪,很容易就能拿到聚合后的数据。不过负载均衡器本身也需要监控;如果它的行为异常,也会导致问题。
了解趋势另一个重要的好处是帮助我们做容量规划。我们的系统到达极限了吗?多久之后需要更多的主机?如果了解我们的使用模式,就可以确保恰好有足够的基础设施来满足我们的需求。
在触发第一个调用时,生成一个GUID,然后把它传递给所有的后续调用。类似日志级别和日期,你也可以把关联标识以结构化的方式写入日志。使用合适的日志聚合工具,你能够对事件在系统中触发的所有调用进行跟踪。
使用关联标识时,一个现实的问题是,你常常直至问题出现才知道需要它,而且只有在开始时就存在关联标识才可能诊断出问题!这个问题非常棘手,因为在后面很难加装关联标识;你需要以标准化的方式处理它们,这样才能够轻易重建调用链。
监控系统之间的集成点非常关键。每个服务的实例都应该追踪和显示其下游服务的健康状态,从数据库到其他合作服务。你会想了解下游服务调用的响应时间,并检测是否有错误。
你应该尝试以标准格式的方式记录日志。你一定想把所有的指标放在一个地方,你可能需要为度量提供一个标准名称的列表。

对每个服务而言:

  • 最低限度要跟踪请求响应时间。做好之后,可以开始跟踪错误率及应用程序级的指标。
  • 最低限度要跟踪所有下游服务的健康状态,包括下游调用的响应时间,最好能够跟踪错误率。
  • 标准化如何收集指标以及存储指标。
  • 如果可能的话,以标准的格式将日志记录到一个标准的位置。如果每个服务各自使用不同的方式,聚合会非常痛苦!
  • 监控底层操作系统,这样你就可以跟踪流氓进程和进程容量规划。

对系统而言:

  • 聚合CPU之类的主机层级的指标及应用程序级指标。
  • 确保你选用的指标存储工具可以在系统和服务级别做聚合,同时也允许你查看单台主机的情况。
  • 确保指标存储工具允许你维护数据足够长的时间,以了解你的系统的趋势。
  • 使用单个可查询工具来对日志进行聚合和存储。
  • 强烈考虑标准化关联标识的使用。
  • 了解什么样的情况需要行动,并根据这些信息构造相应的警报和仪表盘。
  • 调查对各种指标聚合方式做统一化的可能性。

标签:服务,调用,聚合,指标,监控,设计,日志
From: https://www.cnblogs.com/hellosnow/p/17533528.html

相关文章

  • 《Effective C++ 改善程序与设计的55个具体做法》读书笔记
    1.让自己习惯C++条款01视C++为一个语言联邦CObject-OrientedC++TemplateC++STLC++高效编程守则视情况而变化,取决于你使用C++的哪一部分。条款02尽量与const,enum,inline替换#define对于单纯常量,最好以const对象或enums替换#defines。对于形似函数的宏(macros),最好改......
  • autofac 服务层
      usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingwgh.model.Models;usingDBHelper;usingIService;usingwgh.Service;namespaceService{///<summary>///系统用户服务层///<......
  • 微服务设计:测试
    单元测试通常只测试一个函数和方法调用。单元测试对于代码重构非常重要,因为我们知道,如果不小心犯了错误,这些小范围的测试能很快做出提醒,这样我们就可以放心地随时调整代码。运行端到端测试需要部署多个服务。显然,这种测试可以覆盖更大的范围,也让我们对系统的正常工作更有信心。......
  • 实验一:通过界面监控大数据平台运行状态
    实验一:通过界面监控大数据平台运行状态1.实验任务一:通过界面查看大数据平台状态通过大数据平台Hadoop的用户界面可以查看平台的计算资源和存储资源。打开http://master:8088/cluster/nodes页面,可以查看大数据平台的状态汇总信息.2.实验任务二:通过界面查看Hadoop状态大......
  • 搭建hwi和告警和日志信息监控
    搭建hwi1.通过网址https://archive.apache.org/dist/hive/hive-2.0.0/安装hive/hive-2.0.0包[hadoop@master~]$wgethttps://archive.apache.org/dist/hive/hive-2.0.0/apache-hive-2.0.0-src.tar.gz[hadoop@masteropt]$lsapache-hive-2.0.0-src.tar.gzhadoop-2.7.1.tar......
  • Linux服务器之间进行文件目录映射/挂载-优化
    转自:https://www.cnblogs.com/tanshaoxiaoji/p/linux_nfs.html稍有优化需要实现的功能为:将192.168.10.10服务器下的/home/要映射的目录/,映射为192.168.10.90服务器下的/home/被映射的目录/。1、分别在192.168.10.10、192.168.10.90服务器上安装nfs、rpcbind;yuminst......
  • 国产方德高可信服务器操作系统V4.0的安装
    前言中科方德积极参与欧拉开源社区工作,发布了基于欧拉开源操作系统的方德高可信服务器操作系统V4.0(欧拉版)。此款操作系统可提供高可信支持,为企业级用户提供稳定、高效的软件运行支撑环境,满足系统稳定性、安全性、可靠性等要求,适用于党政军及金融、电信、能源、交通及医疗卫生等各......
  • 计算机与服务器之间的关系
    1.计算机1.1计算机的起源历史计算机的历史可以追溯到200多年前。最初由数学家和企业家提出的理论,在19世纪,机械计算机的设计和制造是为了解决日益复杂的数字运算挑战。到20世纪初,技术的进步使计算机变得越来越复杂,计算机变得更大、更强大。今天,计算机几乎无法从19世纪的......
  • 宝塔搭建出现连接不到服务器 搭建宝塔8.0 面板会出现 连接丢失需要重新连接
    搭建宝塔8.0  面板会出现连接丢失需要重新连接碰见这个问题因为宝塔的8.0 镜像换了需要重新执行一下宝塔镜像btpipinstallsimple-websocket==0.10.0&&bt1  执行完成之后出现这个就可以使用面板 ......
  • eclipse 如何通过OSGI 服务从一个插件给另一个插件发通知
    注册服务:BundleContextbundleContext=FrameworkUtil.getBundle(当前类.class).getBundleContext();EventHandlereventCreateNewConfigEventHandler=newEventHandler(){ @Override publicvoidhandleEvent(finalorg.osgi.service.event.Eventevent){ doSomet......