先大致认识认识普罗米修斯 —— Prometheus。

依据官方文档https://prometheus.io/docs/introduction/overview/ 大概能够了解到 Prometheus 是一个开源系统监控和报警工具包,通过基于 Http 的 pull 方式采集时序数据,支持多种多样的图表和界面展示。

如上面官方架构图所示,能看出 Prometheus 的生态中主要是由 exporters、Pushgateway、Prometheus server、AlertManager、Prometheus web UI 几个套件组成。

我感觉如果要一直这么聊下去,估计你会选择灰溜溜的走开,所以要细说每个套件都是干啥用的,那不妨在官方架构图的基础之上,再为你们上一图。

如上图所示,我简单把 Prometheus 的生态划分为数据源、数据归集处理、数据应用三大层。

数据源层,主要是通过两种形式生产数据。

  • 一种是通过让应用加入Clinet lib类库集成 Prometheus,然后向PushGateway推送监控指标的数据。例如 Prometheus 对 flink 监控时,需要加入 flink-metrics-prometheus_xxxx.jar 类库进行支持;

  • 另一种则是直接通过 Prometheus 提供的系列 xx_exporter 完成监控指标数据的收集,例如 node_exporter 可以用来收集服务器的 CPU、内存、磁盘、I/O 等信息,(这就是上期分享中的 PGOne 中的 One Exporter

数据归集处理层,主要是 Prometheus server 通过 Http 的 pull 方式从数据源层拉取并存储监控的指标数据;然后运行已定义好的告警规则,向数据应用层的 Alertmanager 推送警报。思考 Prometheus server 背后,肯定要维护一份监控的目标对象 targets,不然怎么知道从哪儿拉取数据呢?实践中再进行体会吧,先知道这层是干啥的就行了。

数据应用层,我粗略的把这块划分为报警管理和监控数据展示两大应用。其中报警管理,是指 Alertmanager 依据配置,对接收到的 alerts 进行处理,发出告警;监控数据展示主要是进行监控指标数据的展示,常用的组件是 Grafana(这又是个啥玩意?放心,Grafana 后面会聊)。

到这应该对监控一哥普罗米修斯有了全新的认识,以后在技术选型的时候不妨也稍微考虑一下他,本次主要是搞懂理念,关于实战部分咱们单独开篇去讲。

监控一哥Prometheus你可认识?的更多相关文章

  1. 你必须知道的容器监控 (3) Prometheus

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇介绍了Google开发的容器监控工具cAdvisor,但是其提供的操作界面 ...

  2. Spring Boot Metrics监控之Prometheus&Grafana(转)

    欢迎来到Spring Boot Actuator教程系列的第二部分.在第一部分中,你学习到了spring-boot-actuator模块做了什么,如何配置spring boot应用以及如何与各样的ac ...

  3. 性能测试之服务器监控和Prometheus推荐

    服务器的监控,也是采用Prometheus和Grafana.可以监控服务器系统负载.CPU使用率.网络流量.磁盘使用率.磁盘读写速度.IO耗时.网络信息. 效果图 安装使用 安装启动node_expo ...

  4. 第七模块 :微服务监控告警Prometheus架构和实践

    119.监控模式分类~1.mp4 logging:日志监控,Logging 的特点是,它描述一些离散的(不连续的)事件. 例如:应用通过一个滚动的文件输出 Debug 或 Error 信息,并通过日志 ...

  5. Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息

    Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息 一.通过redis_exporter监控redis 1.1 下载镜像 1.2 运行服务 ...

  6. Kubernetes 监控:Prometheus Operator

    安装 前面的章节中我们学习了用自定义的方式来对 Kubernetes 集群进行监控,基本上也能够完成监控报警的需求了.但实际上对上 Kubernetes 来说,还有更简单方式来监控报警,那就是 Pro ...

  7. Kubernetes 监控:Prometheus Operator + Thanos ---实践篇

    具体参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/16291296.html 本章用到的yaml文件地址:https://files.cnblogs.com/ ...

  8. 监控 -- kubernetes -- prometheus

    1.但是Heapster无法做Kubernetes下应用的监控.现在,Heapster作为Kubernetes下的开源监控解决方案已经被其弃用,Prometheus成为Kubernetes官方推荐的监 ...

  9. 机房ping监控 smokeping+prometheus+grafana

    一.前言 1.本监控方案主要由smokeping+promethues+grafana组成.smokeping主要数据采集,promethues作为数据存储,grafana数据展示 2.其实smoke ...

随机推荐

  1. git版本回退问题记录

    因为之前有个前端改了文件目录进行合并时候丢失掉些许代码,然后我在以前分支进行了代码层级的整理,项目如果想要启动还需还原回以前的版本,我进行了三次文件夹层级提交,所以我需要进行三次的版本回退. git命 ...

  2. vue中v-if和v-show的区别

    v-if.v-show顾名思义就是用来判断视图层展示效果的.  v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回真值的时候被渲染. v-show 指的是单纯的切换元素的样式dis ...

  3. unzip详解,Linux系统如何解压缩zip文件?

    通常在使用linux时会自带了unzip,但是在最小化安装之后,可能系统里就无法使用此命令了. yum list unzip 查看是否安装 如果没安装过就继续 yum install unzip 安装 ...

  4. TCP数据报结构以及三次握手(图解)

    简要介绍 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接.客户端在收发 ...

  5. C++ 按行读取文件并打印

    #include<iostream> #include<fstream> #include<string> #include <vector> #inc ...

  6. npm run build时卡住不动了...

    在build文件夹里有个check-versions.js. if (shell.which('npm')) { versionRequirements.push({ name: 'npm', cur ...

  7. 使用GUI工具Portainer.io管控Docker容器

    背景 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器. 是时候推荐一个轮子Portainer.io:提供GUI界面的容器管 ...

  8. 通过js自动判断移动终端设备(ios\android等)

    当用户用移动设备扫描一个二维码是,将扫描后的链接链接到一个页面,该页面只包含判断移动终端设备的js,判断好后自动跳转到对应的链接 或下载对应的内容. html代码如下: <script> ...

  9. php导出为excel文件避免内存溢出

    轻松解决PHPExcel导出10W行超时和内存溢出问题   使用了一个轻量级的PHP的Excel操作库-PHP_XLSXWriter 10w行excel数据导出仅需要5.26秒,再也不用担心excel ...

  10. React && ReactDOM

    如果你是 React 的初学者,一定会对 React 和 ReactDOM 感到迷惑.为什么要分成两个包呢?害得我还要引入两次,说好的减轻开发人员负担呢,这丫的在搞什么飞机.带着这个疑问,我们一起来康 ...