Prometheus监控学习笔记之Prometheus监控简介
0x00 Prometheus容器监控解决方案
Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的。它是一个独立的开放源码项目,并且独立于任何公司。不同于传统的运维监控工具,Prometheus是面向容器和微服务的监控系统,采用基于时间序列的存储方式,监控采集更加精确,监控频率更高,和容器和微服务兼容性更好。随着目前容器和微服务的使用日趋广泛,Prometheus的应用范围将会越来越广。
0x01 Prometheus架构
Prometheus是面向容器和微服务的监控系统,对容器和微服务的兼容性好。
服务器通过Pull模型以http协议监控数据,监控精确,监控频率高。
图形数据化展示通过Grafana展示,采用专业的数据函数和公式,将数据以更精准和可读的方式展现出来。
报警方式通过AlertManager输出,兼容目前市场是主流的报警方式,例如微信,电话,邮件等。
下面这张图说明了Prometheus的整体架构,以及生态中的一些组件作用:


0x02 Prometheus主要特征和优势
Prometheus的主要特征有:
- 多维度数据模型
- 灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自主的
- 以HTTP方式,通过pull模型拉去时间序列数据
- 也通过中间网关支持push模型
- 通过服务发现或者静态配置,来发现目标服务对象
- 支持多种多样的图表和界面展示,grafana也支持它
Prometheus相对比其他监控的优势:
- 监控数据的精细程度高,采集精度可以达到1~5s
- 集群部署速度和监控脚本制作快,大大缩短监控搭建的时间成本
- 开源软件更新快,bug修复快,周边插件丰富,到手即用,支持多种客户端开发语言
- 本身基于数学计算模型,直接使用数学公式和数学函数,可以实现很复杂的业务逻辑监控(例如QPA曲线的弯曲、凸起,下跌的比例等模糊概念)
- 结合Grafana展示图形,效果美观实用
- 特别针对目前流行容器监控适配,采集深度大
Prometheus生态包括了很多组件,它们中的一些是可选的:
- 主服务Prometheus Server负责抓取和存储时间序列数据
- 客户库负责检测应用程序代码
- 支持短生命周期的PUSH网关
- 基于Rails/SQL仪表盘构建器的GUI
- 多种导出工具,可以支持Prometheus存储数据转化为HAProxy、StatsD、Graphite等工具所需要的数据存储格式
- 警告管理器
- 命令行查询工具
- 其他各种支撑工具
- 多数Prometheus组件是Go语言写的,这使得这些组件很容易编译和部署
0x03 Prometheus配合Grafana和AlertManager实现数据展示和多渠道报警

Grafana展示Prometheus监控的数据
如下是Prometheus支持的报警渠道,支持邮件,Pageduty,Wehooks,微信等。
# Configurations for several notification integrations.
email_configs:
[ - <email_config>, ... ]
hipchat_configs:
[ - <hipchat_config>, ... ]
pagerduty_configs:
[ - <pagerduty_config>, ... ]
pushover_configs:
[ - <pushover_config>, ... ]
slack_configs:
[ - <slack_config>, ... ]
opsgenie_configs:
[ - <opsgenie_config>, ... ]
webhook_configs:
[ - <webhook_config>, ... ]
wechat_configs:
[ - <wechat_config>, ... ]
Prometheus监控学习笔记之Prometheus监控简介的更多相关文章
- Prometheus监控学习笔记之prometheus的federation机制
0x00 概述 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目.也就是说整个监控系统不 ...
- Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能
0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...
- Prometheus监控学习笔记之Prometheus存储
0x00 概述 Prometheus之于kubernetes(监控领域),如kubernetes之于容器编排.随着heapster不再开发和维护以及influxdb 集群方案不再开源,heapster ...
- Prometheus监控学习笔记之prometheus的远端存储
0x00 概述 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter.所以采用prometheus作为整个集 ...
- Prometheus监控学习笔记之Prometheus的架构及持久化
0x00 Prometheus是什么 Prometheus是一个开源的系统监控和报警工具,特点是 多维数据模型(时序列数据由metric名和一组key/value组成) 在多维度上灵活的查询语言(Pr ...
- Prometheus监控学习笔记之Prometheus不完全避坑指南
0x00 概述 Prometheus 是一个开源监控系统,它本身已经成为了云原生中指标监控的事实标准,几乎所有 k8s 的核心组件以及其它云原生系统都以 Prometheus 的指标格式输出自己的运行 ...
- Prometheus监控学习笔记之Prometheus普罗米修斯监控入门
0x00 概述 视频讲解通过链接网易云课堂·IT技术快速入门学院进入,更多关于Prometheus的文章. Prometheus是最近几年开始流行的一个新兴监控告警工具,特别是kubernetes的流 ...
- Prometheus监控学习笔记之Prometheus 2.x版本的常用变化
最近用了prometheus 2.0 版本,感觉改变还是有点大,现将改变相关记录如下: 1.prometheus.yml文件配置修改后,要想重新加载,必须在启动的时候添加参数: --web.enabl ...
- Prometheus监控学习笔记之Prometheus查询无数据或者Grafana不显示数据的诡异问题
0x00 概述 Prometheus和Grafana部署完成后,网络正常,配置文件正常,抓取agent运行正常,使用curl命令获取监控端口数据正常,甚至Prometheus内的targets列表内都 ...
随机推荐
- Linux 文件 目录结构探索
测试机用的是亚马逊云免费的那款,Amazon Linux AMI EC. 里面的Comment 在图上没有办法看,不过都是从网络上收录的,可以自行搜索. 目录 / 下面的目录 bin cgroup e ...
- 分享一种系统事故&问题处理反馈方式(COE)
标签: COE, 复盘 如下为2014/11月份的邮件. 丁总,如下为摇钱树标的交易订单号重复事故的发生及处理过程.COE(Correction Of Error)是我们在JD研发部时使用的一种事故& ...
- sift拟合详解
1999年由David Lowe首先发表于计算机视觉国际会议(International Conference on Computer Vision,ICCV),2004年再次经David Lowe整 ...
- linux telnet命令
telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户 ...
- mac connect to host localhost port 22: Connection refused
在Mac OS X 10.10.5学习hadoop的过程中,输入命令ssh localhost得到 ssh: connect to host localhost port : Connection r ...
- Beta阶段冲刺2.0
1. 提供当天站立式会议照片一张 2. 每个人的工作 (有work item 的ID) 成员 昨天已完成的工作 今天计划完成的工作 工作中遇到的困难 具体贡献 郑晓丽 "我的活动详情&quo ...
- How to export a model from SolidWorks to Google SketchUp
How to export a model from SolidWorks to Google SketchUp While Google SketchUp is not a professional ...
- RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试
RAMPS1.4 3D打印控制板:软件下载\连接\安装\测试 特别说明: 电源接反,电机驱动板接反将有可能烧毁芯片和电路,请再三确认后再进行通电. 如何使用: 1.需要用到的模块或器件: Arduin ...
- Python数据可视化-seaborn
详细介绍可以看seaborn官方API和example galler. 1 set_style( ) set( ) set_style( )是用来设置主题的,Seaborn有五个预设好的主题: d ...
- python中常见的错误类型
Python异常类 Python是面向对象语言,所以程序抛出的异常也是类.常见的Python异常有以下几个 ,大家只要大致扫一眼,有个映像,等到编程的时候,相信大家肯定会不只一次跟他们照面(除非你不用 ...