「分享」Uber监控告警系统架构

一壶清酒 2020-01-06 15:50:56 ⋅ 776 阅读
https://www.toutiao.com/i6768683536598696462

Uber有成千的微服务支撑着各种各样的Uber的业务。Uber的运维团队为了保证及时发现这些微服务及其运行的环境的问题,设计了一套功能强大的、易扩展的监控系统。

整体架构


监控组件uMonitor和Neris。

uMonitor完成基于metrics的监控,它从存储Metrics的数据库Cassandra M3中读取Metrics

并根据告警规则来判断是否要发送告警。

Neris主要是对于微服务所运行的环境例如主机的CPU、内存以及磁盘进行监控,并判断是否要发送告警。

uMonitor和Neris的告警都统一发送到告警组件Origami,Origami接收告警请求并将告警归并后发送到与之对接的响应系统中,对微服务中的错误做出快速响应。Origami的巨大挑战来自于如何在大量的告警噪声中提取出有价值的告警信息。

另外,Uber在全球有多个DC部署微服务来支撑全球的业务,所以需要考虑DC之间的相互监控,防止某个DC的监控系统出问题不能正常工作时候的极端case,这里Uber监控框架中的Blackbox就是完成这种DC级别的监控。

uMonitor架构

uMonitor是基于业务Metrics的监控组件,它的结构如下:


Uber的监控系统中的Metrics搜集API负责收集微服务发过来的Metrics,并将它写入到存储Metrics的数据库M3中。

uMonitor的Scheduler会一分钟驱动所有运行监控规则的Workers执行监控任务,worker从M3中读取Metrics和监控Rule进行监控判断。

将状态结果存入监控状态存储数据库Cassandra中国。同时将需要发送告警的信息发到告警统一处理网关中。

Neris架构

Neris主要是对于微服务所运行的环境的监控组件,它的结构如下:


在每台server中安装的Host Agent搜集上来的数据,发送到Neris中进行聚合运算,然后将告警信息发送到告警系统Origami中。



全部评论: 0

    我有话说:

    运维监控软件 wgcloud 更新,v3.2.7 重构告警模块

    WGCLOUD,server端基于springboot开发,agent端使用go编写。支持高并发高性能,核心模块包括:服务器集群监控,ES集群状态监控,CPU监控,内存监控,数据监控,docker

    京东技术:京东系统架构师如何让笨重的架构变得灵巧

    京东系统架构师,从事架构设计与开发工作,熟悉各种开源软件架构。在Web开发、架构优化上有较丰富实战经历。

    商城系统 DBShop V3.0 Beta 发布

    全新重构,首次亮相。 系统简介 DBShop企业级商城系统,使用PHP语言基于Laminas(Zendframework 3) + Doctrine 2 组合框架开发完成。可定制、多终端、多场景、多

    xrkmonitor 字符云监控系统 v3.3 日志系统增强

    该版本主要增强日志系统功能,包括引入通用日志文件监控插件,核心代码上日志系统新增日志数和日志类型统计图表,日志系统按配置大小自动滚动日志;插件架构上,插件配置项通过引用排序权重可实现排序显示,插件的

    架构实战篇:认识一下微服务架构

    微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务。

    「轻阅读」最近程序员圈刷屏的支付宝架构分享给大家

    支付宝的架构到底有多牛逼!还没看完我就跪了

    创业团队如何设计支撑百万并发的数据库架构

    我们来聊一下对于一个支撑日活百万用户的高并系统,他的数据库架构应该如何设计?

    架构实战篇:认识一下ZooKeeper和CAP及一致性原则

    一个分布式系统不可能同时满足以下三种一致性(一致性(C:Consistency) 可用性(A:Available)分区容错性(P:Partition Tolerance)

    高性能缓存架构设计(超实用)

    缓存虽然能够大大减轻存储系统的压力,但同时也给架构引入了更多复杂性。

    架构实战篇(三)-Spring Boot架构搭建RESTful API案例

    之前分享了Spring Boot 整合Swagger 让API可视化和前后端分离架构 受到了大家一致好评 ,本节就接着上节的代码做了详细的查询代码的补充和完善并搭建RESTful API架构案例。

    分享】一次单体架构改造成微服务架构的拆分实践

    从5个方面设计这次微服务的拆分方案,以及经验总结!

    精品推荐:微服务架构下静态数据通用缓存机制

    在分布式系统中,特别是最近很火的微服务架构下,有没有或者能不能总结出一个业务静态数据的通用缓存处理机制或方案,这篇文章将结合一些实际的研发经验,尝试理清其中存在的关键问题以及探寻通用的解决之道。

    SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper

    SpringBoot+zk+dubbo架构实践系列实现目标:自己动手搭建微服务架构

    「轻阅读」从MySQL高可用架构看高可用架构设计

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一

    微服务架构下的若干常用设计模式

    在我们选择了用微服务架构来设计、交付数字化应用后,因微服务架构本身所带来的一些共性问题。

    架构实战篇:一个可供中小团队参考的微服务架构技术栈

    作者近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根据我个人的一线实践经验和我平时对Spring Cloud的调研,我认为Spring Cloud技术栈中的有些组件离生产级开发尚有

    「轻阅读」图文并茂带你了解分布式架构的演进

    初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称LAMP

    MoguBlog(蘑菇博客)v5.3发布,前后端分离博客系统

    MoguBlog简介 MoguBlog(蘑菇博客),一个基于微服务架构的前后端分离博客系统。前台使用Vue + Element , 后端使用spring boot + spring cloud

    Elasticsearch运维宝典——监控实战篇

    本文从运维角度,对 ES 服务监控进行了系统性总结,涵盖监控工具选型、监控采集项筛选介绍,最后列举了几个借助监控发现的ES线上问题。