Prometheus运⾏框架介绍
框架结构的展⽰图
• 我们先来看下这个部分
这⾥是 prometheus的服务端也就是核⼼
prometheus本⾝是⼀个以进程⽅式启动,之后以多进程和多线程实现监控数据收集 计算 查
询 更新 存储 的这样⼀个C/S模型运⾏模式
本⾝的启动很简单
如果不带参数的不考虑后台运⾏的问题
那么 prometheus 默认启动更简单
解压缩之后
./prometheus 即可之后默认监听在9090端⼜⽤来访问
• 接下来我们来看看prometheus的存储形式
这是⼀段来⾃官⽅的 prometheus存储数据的介绍
• prometheus 采⽤的是 time-series (时间序列)的⽅式以⼀种⾃定义的格式存储在本地硬盘上
• prometheus的本地T-S(time-series)数据库以每两⼩时为间隔来分block(块)存储,
每⼀个块中又分为多个chunk⽂件,chunk⽂件是⽤来存放采集过来的数据的T-S数据, metadata 和 索引⽂件(index)
• index⽂件是对metrics(prometheus中 ⼀次K/V采集数据叫做⼀个metric) 和 labels(标签) 进⾏索引 之后存储在 chunk中
chunk 是作为存储的基本单位, index and metadata是作为⼦集
• prometheus平时是将采集过来的数据 先都存放在内存之中(prometheus对内存的消耗还是不⼩的)以类似缓存的⽅式 ⽤于加快搜索和访问
• 当出现宕机时, prometheus有⼀种保护机制叫做WAL 可以讲数据定期存⼊硬盘中以chunk来表⽰,并在重新启动时 ⽤以恢复进⼊内存
然后我们来看下⼤图中的这个部分
这⾥⾯讲的是 prometheus 可以集成的服务发现功能
例如 Consul
prometheus本⾝跟其他的开源软件类似,也是通过定义配置⽂件来给prometheus本⾝规定需要被监控的项⽬和被监控节点
我们看下配置⽂件的模版
配置⽂件中 规定了⼀个 ⼤的Job的名字
之后 在这个Jobs的名字下⾯ 具体来定义 要被监控的节点 以及节点上具体的端⼜信息等等
那么如果prometheus 配合了 例如consul这种服务发现软件
prometheus的配置⽂件 就不再需要⼈⼯去 ⼿⼯定义出来,⽽是能⾃动发现集群中 有哪些新
机器 以及新机器上出现了哪些新服务 可以被监控
接下来我们来看看 采集客户端的部分
prometheus 的客户端主要有两种⽅式采集
pull 主动拉取的形式
push 被动推送的形式
pull: 指的是客户端(被监控机器)先安装各类已有exporters(由社区组织 或企业 开发的监控客户端插件)在系统上
之后, exporters 以守护进程的模式运⾏并开始采集数据
exporter本⾝也是⼀个http_server可以对http请求作出响应返回数据(K/V metrics)
prometheus ⽤ pull 这种主动拉的⽅式(HTTP get) 去访问每个节点上exporter 并采样回需要的数据
push :
指的是 在客户端(或者服务端)安装这个 官⽅提供的pushgateway插件
然后,使⽤我们运维⾃⾏开发的各种脚本 把监控数据组织成k/v的形式 metrics形式 发送给pushgateway
之后 pushgateway会再推送给prometheus
这种是⼀种被动的数据采集模式
最后咱们来看下这个报警的部分
prometheus 本⾝并不具备报警的功能
只能通过第三⽅ 开源或者商业软件实现报警
另外
这⾥指的是 prometheus 可以依赖很多⽅式⼆次绘制监控图形⾸推Grafana
Prometheus运⾏框架介绍的更多相关文章
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
- Java常用日志框架介绍
Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...
- IOS-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 时间:2015-05-06 16:43:34 阅读:533 评论:0 收藏:0 [点我收藏+] ...
- Java常用日志框架介绍(转)
Java常用日志框架介绍 java日志概述 对于一个应用程序来说日志记录是必不可少的一部分.线上问题追踪,基于日志的业务逻辑统计分析等都离不日志.java领域存在多种日志框架,目前常用的日志框架包括L ...
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
- Ligg.EasyWinApp-000: 一款Windows应用编程框架介绍
本框架(解决方案)是一个Windows应用编程框架和UI库,通过该框架,不需任何代码,通过XML配置文件,搭建任意复杂的Windows应用界面,以类似Execel公式的方式实现基本的过程控制( ...
- Prometheus 运维监控
Prometheus 运维监控 1.Prometheus 介绍详解 2.Prometheus 安装部署 3.Prometheus 配置文件详解 4.Prometheus PromSQL 常用资源 5. ...
- 面试简历书写、Flask框架介绍与快速使用、Flask演示登录页面、用户信息页面案例
今日内容概要 面试简历编写 Flask框架介绍与安装 内容详细 1.面试简历编写 # 千万不要几个小时把简历凑出来 几天到一周 # 有没有面试机会,取决于简历写得怎么样 简历写好是第一步 # 投简历的 ...
- YARN基本框架介绍
YARN基本框架介绍 转载请注明出处:http://www.cnblogs.com/BYRans/ 在之前的博客<YARN与MRv1的对比>中介绍了YARN对Hadoop 1.0的完善.本 ...
随机推荐
- PHP基本的语法结构
学过C语言的话,上手PHP语言就非常快了,如果你有bash shell的基础,那恭喜你,上手PHP会更快,我们先来了解一下一些比较简单的东西,界定符和注释在PHP中的写法: 一 php文档的语法结构 ...
- ORACLE之TO_DATE (转载)
转自 http://www.cnblogs.com/anran_guojianjun/archive/2009/09/11/1564535.html 一.在使用Oracle的to_date函数来做日期 ...
- JTA 分布式事务
什么是JTA - 2009-07-25 18:31:06| 分类: 技术文章|举报|字号 订阅 什么是JTA? Java Transaction API(Java事务API) (JTA)Ja ...
- python结巴(jieba)分词
python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...
- R实战 第七篇:网格(grid)
grid包是R底层的图形系统,可以绘制几乎所有的图形.除了绘制图形之外,grid包还能对图形进行布局.在绘图时,有时候会遇到这样一种情景,客户想把多个代表不同KPI的图形分布到同一个画布(Page)上 ...
- Mac 电脑前端环境配置
恍惚间,好久没有在外面写过随笔了.在阿里的那两年,学到了许多,也成长了许多,认识了很多可爱的人,也明白了很多社会的事.最后种种艰难抉择,我来到了美团成都,一个贫穷落后但更自由开放弹性的地方.已经误以为 ...
- ffmpeg 时间戳处理
视频的显示和存放原理 对于一个电影,帧是这样来显示的:I B B P.现在我们需要在显示B帧之前知道P帧中的信息.因此,帧可能会按照这样的方式来存储:IPBB.这就是为什么我们会有一个解码时间戳和一个 ...
- AI 学习之路
前言:本文章纯属自己学习路线纪录,不喜勿喷. 最近AI很火,几乎是个程序员 都要去学习AI,作为一个菜鸡小前端,我也踏上了学习AI的方向. 在学习之中,最开始遇到了很多的困难,比如你不知道如何切入进来 ...
- quick-cocos2d-x与 cocos2d-x的关系
quick-cocos2d-x(后文简称 quick)与 cocos2d-x 的关系,用一句话概括:quick 是 cocos2d-x 针对 Lua 的豪华套装威力加强版. 那 quick 与 coc ...
- 关于loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用
关于loadrunner使用web_add_header添加HTTP信息头(比如Content-Type,token等)和使用 1.web_add_header添加HTTP信息头(比如Content- ...