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

landmandw · · 205 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

Prometheus入门与进阶实践(2024最新)|Prometheus教程 学习地址1:https://pan.baidu.com/s/1sjdE_UcjlDuEEQ6brw8Vyg 提取码:12tu 学习地址2:https://share.weiyun.com/7hok43wM 密码:qkrm48 今天给大家讲讲关于Prometheus的知识,我们先来看看Prometheus的基本概念。 一、那么什么是Prometheus呢? Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。 1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个HTTP接口供Prometheus server查询,Prometheus通过基于HTTP的pull的方式来周期性的采集数据。 2.任何被监控的目标都需要事先纳入到监控系统中才能进行时序数据采集、存储、告警和展示,监控目标可以通过配置信息以静态形式指定,也可以让Prometheus通过服务发现的机制进行动态管理。 3.Prometheus 能够直接把API Server作为服务发现系统使用,进而动态发现和监控集群中的所有可被监控的对象。 二、Prometheus的作用 Prometheus 是一种开源的监控和告警系统,它可以对分布式系统和应用程序进行监控和警报。以下是 Prometheus 的几个关键作用: 1、数据监控:Prometheus 可以收集关于系统资源、应用程序指标以及存储指标的数据,如 CPU 使用率、内存使用率、网络流量和磁盘使用率等。这些信息可以帮助用户了解系统的运行状况。 2、查询和可视化:Prometheus 提供了强大的查询语言 PromQL,允许用户提取和聚合指标数据,以便深入了解系统的状态和性能。此外,它还支持多种可视化工具,如 Grafana,以图形化方式展示数据。 3、告警管理:当检测到预设阈值的异常指标变化时,Prometheus 可以发出告警,并通过配套的工具如 Alertmanager 来处理和发送通知。这有助于及时发现问题并进行相应的操作。 4、自动化集成:Prometheus 可以与其他组件和服务集成,如 Exporters 和其他监控工具,以实现数据的自动收集和统一管理。这种集成性提高了监控系统的效率和灵活性。 5、扩展性和易用性:Prometheus 支持多种客户端库,使其能够适应不同的应用场景和技术栈。同时,它也易于安装和使用,适合中小规模团队的部署和应用 6、社区支持:作为 CNCF (云原生计算基金会) 的一部分,Prometheus 有着活跃的社区和支持者群体,这意味着用户可以获得持续的技术支持和发展建议。 三、prometheus和grafana的区别 Prometheus和Grafana是两种不同的开源软件,用于监控和可视化数据。 Prometheus是一种监控系统,用于收集和存储时间序列数据。它通过定期抓取目标上的指标数据,如CPU利用率、内存使用情况等,并存储在时间序列数据库中。Prometheus还提供了一个表达式语言,用于查询和聚合数据,以及一些内置的告警规则和通知机制。 Grafana是一个开源的可视化工具,用于创建和展示监控数据的仪表板。它支持多种数据源,包括Prometheus。Grafana提供了丰富的图表和仪表板编辑功能,使用户能够根据需求自定义监控数据的可视化。它还支持创建警报规则,并通过多种通知方式通知用户。 综上所述,Prometheus主要用于收集和存储监控数据,而Grafana则用于展示和可视化这些数据。它们可以结合使用,通过Prometheus收集的数据可以通过Grafana创建漂亮和交互性强的监控仪表板。 四、prometheus监控组件简介 输出被监控组件信息的HTTP接口被叫做exporter。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux 系统信息(包括磁盘、内存、CPU、网络等等) 特点: 多维数据模型,时间序列由metric名字和K/V标签标识 灵活的查询语言(PromQL) 单机模式,不依赖分布式存储 基于HTTP采用pull方式收集数据 支持push数据到中间件(pushgateway) 通过服务发现或静态配置发现目标 多种图表和仪表盘 由于数据采集可能会有丢失,所以 Prometheus 不适用对采集数据要 100% 准确的情形。但如果用于记录时间序列数据,Prometheus 具有很大的查询优势,此外,Prometheus 适用于微服务的体系架构 组件: Prometheus生态系统由多个组件构成,其中多是可选的,根据具体情况选择 Prometheus server - 收集和存储时间序列数据 Client Library: 客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics。 pushgateway - 对于短暂运行的任务,负责接收和缓存时间序列数据,同时也是一个数据源 exporter - 各种专用exporter,面向硬件、存储、数据库、HTTP服务等 alertmanager - 处理报警 webUI等,其他各种支持的工具

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

205 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传