Prometheus入门与进阶实践(2024最新)

笑面虎
• 阅读 60

Prometheus入门与进阶实践(2024最新) Prometheus入门与进阶实践(2024最新)

分享一套课程——Prometheus入门与进阶实践(2024最新),附PDF课件+源码下载。

1、什么是Prometheus Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个HTTP接口供Prometheus server查询,Prometheus通过基于HTTP的pull的方式来周期性的采集数据。 2.任何被监控的目标都需要事先纳入到监控系统中才能进行时序数据采集、存储、告警和展示,监控目标可以通过配置信息以静态形式指定,也可以让Prometheus通过服务发现的机制进行动态管理。 3.Prometheus 能够直接把API Server作为服务发现系统使用,进而动态发现和监控集群中的所有可被监控的对象。

2、Zabbix和Prometheus区别 1.和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。 2.zabbix的客户端 agent 可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而 Prometheus 的上报客户端则分为不同语言的SDK和不同用途的 exporter 两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的 exporter 来直接开箱使用,通过http 通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的 sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。 3.zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。 4.界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得良好的监控体验,搭配Grafana还是二者的必走之路。

3、Prometheus的特点 多维数据模型:由度量名称和键值对标识的时间序列数据 时序数据,是在一段时间内通过重复测量(measurement)而获得的观测值的集合;将这些观测值绘制于图形之上,它会有一个数据轴和一个时间轴;

服务器指标数据、应用程序性能监控数据、网络数据等也都是时序数据;

1.内置时间序列(pime series)数据库:Prometheus;外置的远端存储通常会用:InfluxDB、openTsDB等 2.promQL一种灵活的查询语言,可以利用多维数据完成复杂查询 3.基于HTTP的pull(拉取)方式采集时间序列数据 4.同时支持PushGateway组件收集数据 5.通过服务发现或者静态配置,来发现目标服务对象 6.支持作为数据源接入Grafana

Prometheus的从被监控服务的注册到指标抓取到指标查询的流程分为五个步骤: 1.注册服务 2.服务发现 3.Pull指标 4.存储指标 5.指标查询

3.1 服务注册 被监控服务在Prometheus中是一个Job存在,被监控服务的所有实例在Prometheus中是一个target的存在,所以被监控服务的注册就是在Prometheus中注册一个Job和其所有的target,这个注册分为:

静态注册 动态注册

3.2 配置更新 在更新完Prometheus的配置文件后,我们需要更新我们的配置到程序内存里,这里的更新方式有两种,第一种简单粗暴,就是重启Prometheus,第二种是动态更新的方式。

3.3 指标抓取和存储 Prometheus对指标的抓取采取主动Pull的方式,即周期性的请求被监控服务暴露的metrics接口或者是PushGateway,从而获取到Metrics指标,默认时间是15s抓取一次

prometheus特点 1)多维度数据模型

每一个时间序列数据都由metric度量指标名称和它的标签labels键值对集合唯一确定:这个metric度量指标名称指定监控目标系统的测量特征(如:http_requests_total- 接收http请求的总计数)。labels开启了Prometheus的多维数据模型:对于相同的度量名称,通过不同标签列表的结合, 会形成特定的度量维度实例。(例如:所有包含度量名称为/api/tracks的http请求,打上method=POST的标签,则形成了具体的http请求)。这个查询语言在这些度量和标签列表的基础上进行过滤和聚合。改变任何度量上的任何标签值,则会形成新的时间序列图。

2)灵活的查询语言(PromQL):可以对采集的metrics指标进行加法,乘法,连接等操作;

3)可以直接在本地部署,不依赖其他分布式存储;

4)通过基于HTTP的pull方式采集时序数据;

5)可以通过中间网关pushgateway的方式把时间序列数据推送到prometheus server端;

6)可通过服务发现或者静态配置来发现目标服务对象(targets)。

7)有多种可视化图像界面,如Grafana等。

8)高效的存储,每个采样数据占3.5 bytes左右,300万的时间序列,30s间隔,保留60天,消耗磁盘大概200G。

9)做高可用,可以对数据做异地备份,联邦集群,部署多套prometheus,pushgateway上报数据

Prometheus工作流程 1)Prometheus server可定期从活跃的(up)目标主机上(target)拉取监控指标数据,目标主机的监控数据可通过配置静态job或者服务发现的方式被prometheus server采集到,这种方式默认的pull方式拉取指标;也可通过pushgateway把采集的数据上报到prometheus server中;还可通过一些组件自带的exporter采集相应组件的数据;

2)Prometheus server把采集到的监控指标数据保存到本地磁盘或者数据库;

3)Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到alertmanager

4)Alertmanager通过配置报警接收方,发送报警到邮件,微信或者钉钉等

5)Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据

6)Grafana可接入prometheus数据源,把监控数据以图形化形式展示出

点赞
收藏
评论区
推荐文章
笑面虎 笑面虎
3个月前
【15章】慕课甄选-2024年Flutter零基础极速入门到进阶实战
【15章】慕课甄选2024年Flutter零基础极速入门到进阶实战视频课程下载——慕课甄选2024年Flutter零基础极速入门到进阶实战,附源码,课程包更新。Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多
笑面虎 笑面虎
2个月前
Three.js可视化企业实战WEBGL课(2024年1月升级版48章全)
Three.js可视化企业实战WEBGL课(2024年1月升级版48章全)给大家分享一套课程——Three.js可视化企业实战WEBGL课,2024年1月最新升级48章,附源码课件等资料下载,课程不定期更新,包更新。Three.js是一个基于WebGL的
鲍二家的 鲍二家的
2个月前
Prometheus入门与进阶实践(2024最新)|Prometheus教程
学习地址1:https://pan.baidu.com/s/1sjdEUcjlDuEEQ6brw8Vyg提取码:12tu学习地址2:https://share.weiyun.com/7hok43wM密码:qkrm48今天给大家讲讲关于Prometheus的
双寿 双寿
2个月前
Prometheus入门与进阶实践教程2024
参考资料1:https://pan.baidu.com/s/1FLteIxtDx3hEiokPn2A0vw提取码:v1nn参考资料2:https://share.weiyun.com/7hok43wM密码:qkrm48一、Prometheus的概念和发展史
笑面虎 笑面虎
1个月前
【2024】kubernetes+DevOps云原生运维开发全栈架构师技术实战课程
【2024】kubernetesDevOps云原生运维开发全栈架构师技术实战课程给大家分享一套课程——【2024】kubernetesDevOps云原生运维开发全栈架构师技术实战课程,附代码PDF文档软件下载。Kubernetes是Google开源
乐和 乐和
1个月前
2024全新版 操作系统入门与实践-参透技术本质
2024全新版操作系统入门与实践参透技术本质download》chaoxingit.com/4989/操作系统入门与实践:参透技术本质操作系统是计算机科学中的核心概念,它负责管理计算机硬件和软件资源,为上层应用软件提供运行环境。本文将介绍如何入门并实践操作
光之守卫 光之守卫
2星期前
2024全新版 操作系统入门与实践-参透技术本质
2024全新版操作系统入门与实践参透技术本质download》itzcw.com/9313/操作系统入门与实践的技能与经验操作系统是计算机系统中的核心组件,理解操作系统的基本原理和功能对于计算机科学领域的学习和工作至关重要。以下是操作系统入门与实践的技能与
程秉 程秉
2星期前
2024全新版 操作系统入门与实践-参透技术本质
2024全新版操作系统入门与实践参透技术本质shanxueit.com/4756/“2024全新版操作系统入门与实践参透技术本质”听起来像是一门针对操作系统的入门课程,旨在帮助学习者深入理解操作系统的基本概念、原理和实践应用。以下是可能包含在这门课程中的内
陈元 陈元
1星期前
MK甄选-2024年Flutter零基础极速入门到进阶实战(完结)
MK甄选2024年Flutter零基础极速入门到进阶实战(完结)download》quangneng.com/4930/MK甄选2024年Flutter零基础极速入门到进阶实战课程简介MK甄选推出的2024年Flutter零基础极速入门到进阶实战课程,旨在
元图 元图
2天前
2024全新版 操作系统入门与实践-参透技术本质
2024全新版操作系统入门与实践参透技术本质download》chaoxingit.com/4989/操作系统入门与实践的步骤操作系统入门与实践的步骤可以按照以下方式进行:理论学习:开始时,通过阅读操作系统相关的基础理论书籍或在线课程来建立起对操作系统的基