来源:
《微服务架构实战160讲》

微服务监控告警

prometheus是多维度(标签)的,使用拉模式,黑盒白盒都支持,对DevOps友好,适用中小规模

支持的Metric种类:计数器、测量仪、直方图、汇总图

prometheus的Metrics案例:

influxDB不仅可以做监控,还可以对业务进行一些分析

1 四种主要监控方式


prometheus主要是Metrics方式(可以对离散数据进行聚合运算,还可以打标签)和Healthchecks方式结合

  • 适用场景
  • Metrics监控架构

    Alerts可以对接邮件、微信等,可以做去重、分组、路由

2 时间序列

一系列时间点连起来就形成时间序列

如图产生了一个时间序列矩阵,本质就是不同时间点产生不同的值,存储在数据库中,给出的红框案例为四个时间序列,request_total、errors_total是时间序列的名称,path和method是标签,不同标签,时间序列也不同

3 架构设计

一般情况是拉取(Jobs/Exporters),对于短周期可以使用推(Short-lived jobs)到push网关再去拉,也可以pull其他PrometheusServer,这也就是集群

拉取的话就需要知道要拉取的服务地址,即需要服务发现,所以有了ServiceDiscovery

Retrieval模块定时拉取数据,并通过Storage模块保存数据,而PromQL为Prometheus提供查询语法,PromQL模块通过解析语法树,调用Storage模块查询接口获取监控数据。

右侧是告警和页面展现:
Prometheus将告警推送到alertmanger,然后通过alertmanger对告警进行处理并执行相应动作。
数据展现除了Prometheus自带的WebUI,还可以通过Grafana等组件查询Prometheus监控数据。

Exporters是用来间接采集的,如果不能直接采集就只能通过Exporters来间接采集,如Redis、Mysql等都可以做Exporters

  • 存储设计

以一个时间间隔作为一个时间块,一开始为mutable,在内存中,如果满了就变为Immutable,每两个小时产生一个mutable:

查询时,根据时间定位到块

每一个块的数据:

4 实践

  • 四个黄金指标

延迟、流量/吞吐、错误、饱和度(衡量资源使用情况)

  • Cardinality(基数)

为Label的可能取值,新增一个 Label 值=新增一个时间序列

经验值:单实例 Cardinality <= 10个

以下属性不适合做 Label:
• Email Email 地址
• 用户名
• IP 地址
• HTTP Path HTTP Path

一般关注 10 个最大的 metrics,而高Cardinality场景,如要监控ip等,用 Log系统

  • 高可用

做HA,两个Prometheus来实现,而数据可以交给远程存储,因为本地的15天就会过期;如果规模太大,还可以加上联邦集群,不同团队使用不同的Prometheus,由上层两个Prometheus进行聚合:

5 ZMon:分布式监控平台

Prometheus是基于团队的,每个团队自己搭建一个,而Zmon是基于整体的

适合大规模,使用拉模式,基于KairosDB实现,其架构如下:

可以看作是一个任务队列,使用消费者生产者模型,左侧产生任务,交给Redis,由右边的Worker处理完后,存储到DB或Redis

微服务监控告警:Prometheus相关推荐

  1. 网易云基于Prometheus的微服务监控实践

    当监控遇上微服务 在过去数年里,微服务的落地一直都是业界重点关注的问题,其始终面临着部署.监控.配置和治理等方面的挑战.轻舟微服务平台是网易云为企业提供的一套微服务解决方案,其中微服务监控是其关注的重 ...

  2. Kubernetes 微服务监控体系

    作者|无敌码农 来源|无敌码农 监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监控可以帮助我们事前及时发现故障,事后快速追查定位问题.而在以微服务为代表的云原生架构体系中,系统分为多 ...

  3. DeVOpS 实战:Kubernetes 微服务监控体系

    来源 | 无敌码农 责编 | 寇雪芹 头图 | 下载于视觉中国 监控系统是运维体系乃至整个软件产品生命周期中最重要的一环,完善的监控可以帮助我们事前及时发现故障,事后快速追查定位问题. 而在以微服务为 ...

  4. 揭秘百度微服务监控:百度游戏服务监控的演进

    导读:臣闻防患于未然者易,除患于已然者难 -- 明·马文升<添风宪以抚流民疏> 作为一个程序员,是否有留意到每逢节假日在各大景区时有程序员打开电脑紧急处理线上问题?如果线上出现大量的报警, ...

  5. springcloud Hystrix Dashboard微服务监控

    springcloud  Hystrix Dashboard微服务监控简介 Hystrix监控 除了隔离依赖服务的调用以外,Hystrix还提供了近实时的监控,Hystrix会实时.累加地记录所有关于 ...

  6. 《深入理解 Spring Cloud 与微服务构建》第十五章 微服务监控 Spring Boot Admin

    <深入理解 Spring Cloud 与微服务构建>第十五章 微服务监控 Spring Boot Admin 文章目录 <深入理解 Spring Cloud 与微服务构建>第十 ...

  7. 对微服务监控系统分层和监控架构的理解

    对微服务监控系统分层和监控架构的理解 目录 微服务专栏地址 目录 1. 简介 2. 为什么需要监控体系 3. 与单体应用有什么区别 4. 要监控什么 5. 监控体系和分层 6. 监控架构和主流技术栈 ...

  8. SpringCloud 微服务监控方案sentinel + spring boot admin

    SpringCloud 微服务监控方案sentinel + spring boot admin 前言:项目基于springcloud框架,服务注册中心使用的是Eureka spring boot ad ...

  9. python微服务监控_基于网络抓包实现kubernetes中微服务的应用级监控

    微服务是什么? 此话题不是本文重点,如你还不知道.请谷歌一波,会有遍地的解释.引用下图说明下微服务可能呈现的形态: 微服务监控的挑战 监控的目的是为了让集群中所有的服务组件,不管是HTTP服务,数据库 ...

最新文章

  1. 报告:下一代技术革命“AI”来袭
  2. jquery操作iframe
  3. php 返回map,PHP Ds\Map get()用法及代码示例
  4. PHP IDE免费干货来了!
  5. IOS之Xcode之快捷键
  6. 文本分类--普通分类
  7. 再谈PHP、Python与Ruby
  8. sql 占比计算_数据库索引的优化及SQL处理过程(建议收藏)
  9. .Net 获取IP 地址和计算机名(本地网)
  10. 收藏! | 入门必读:计算机视觉四大基本任务(分类、定位、检测、分割)
  11. maven scm 配置git
  12. 遗传算法最简单的例子
  13. SocksCap64全局代理工具使用+Clash使用命令行
  14. Benchmark tool library for c++ code
  15. linux运行海康,海康摄像头SDK在Linux、windows下的兼容问题(二)已解决
  16. php本地解密,PHPDecode 在线解密工具
  17. 智慧教室—基于人脸表情识别的考试防作弊系统
  18. 求球体的表面积,体积公式
  19. 51 Nod1113 矩阵快速幂
  20. 中国大学计算机系写英语论文,计算机专业英语学论文题目 计算机专业英语论文题目怎样取...

热门文章

  1. Linux添加环境变量,以配置MySQL环境怕变量为例
  2. Fedora的服务详解zz
  3. Java笔记(韩顺平Java基础7-8章)
  4. 华为电脑管家装到D盘_科普 | 电脑C盘满了,不想重新分区怎样扩容?我教你
  5. sa结构组网方式_5G SA网络架构及组网规范
  6. L1-012 计算指数 (5 分) C语言
  7. SDN在低带宽战术通信场景下的应用
  8. C Primer Plus 第十一章 编程练习 1-15题
  9. ORB-SLAM2工作原理总结
  10. 个人收款码跟聚合码的区别