Prometheus监控:安装、配置与查询实战

Prometheus是一款开源的监控告警工具,由于其强大的查询能力和灵活的配置方式,成为了越来越多企业的首选。本文将介绍Prometheus的安装、配置和查询实战,帮助大家更好地了解和使用Prometheus。

一、安装Prometheus

Prometheus可以在官网 https://prometheus.io/download/ 下载最新版本的二进制包。


# 下载Prometheus的tar包
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz

# 解压
tar -zxvf prometheus-2.30.3.linux-amd64.tar.gz

解压后,我们可以看到如下文件:


prometheus-2.30.3.linux-amd64/
  |- prometheus
  |- promtool
  |- console_libraries/
  |  |- ...
  |- consoles/
  |  |- ...

其中,prometheus为Prometheus的可执行文件,console_libraries和consoles为Web页面所需的静态文件。

最后,我们可以通过以下命令启动Prometheus:


./prometheus

默认的情况下,Prometheus会监听在9090端口上。因此,我们可以通过在浏览器中访问 http://localhost:9090 来访问Web管理界面。

二、配置Prometheus

Prometheus的配置文件为prometheus.yml,其默认在启动时会从当前工作目录下加载该文件。配置文件中,可以定义Prometheus需要监控的targets、抓取频率等。

以下是一个prometheus.yml的示例:


global:
  scrape_interval:     5s
  evaluation_interval: 5s

scrape_configs:
  - job_name: 'node'
    static_configs:
            - targets: ['localhost:9100']

其中,global块下定义了全局的抓取频率和查询频率;scrape_configs块定义了Prometheus需要监控的targets。在此示例中,我们仅监控localhost上的node_exporter,其监听在自定义的端口9100上。

配置文件中,我们可以通过多个targets来实现对多个节点的监控。除此之外,Prometheus还支持通过service discovery自动发现targets,具体请参考官方文档。

三、PromQL查询实战

Prometheus提供了强大的PromQL查询语法,可以非常方便地对采集到的监控指标进行查询和分析。

以下是一些常用的PromQL查询实例:

1、获取指定时间范围内的CPU平均使用率:


avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100

该查询通过使用irate函数获取CPU空闲时间的变化率,然后将变化率取平均值并乘以100,得到CPU在指定时间内的平均使用率。

2、获取最近一小时内网卡流量的五分钟平均值:


avg(rate(node_network_receive_bytes_total[5m])) by (device)

该查询通过使用rate函数获取每个网卡的接收流量变化率,然后将变化率取平均值,并按照网卡进行分组,得到最近一小时内每个网卡的五分钟平均接收流量。

3、获取指定时间段内CPU使用率大于80%的节点IP:


topk(10, 100 - avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) if above(100 - 80, by = {instance})

该查询通过使用irate函数获取每个节点的CPU使用率变化率,然后将其反转并平均值,得到CPU使用率。然后筛选出CPU使用率大于80%的节点,最后按照CPU使用率排序并取前10个节点IP。

四、总结

本文对Prometheus的安装、配置和查询实战进行了介绍。希望本文能够帮助读者更好地理解和使用Prometheus。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/192435.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-01 09:57
下一篇 2024-12-01 09:57

相关推荐

  • Django框架:从简介到项目实战

    本文将从Django的介绍,以及如何搭建Django环境开始,逐步深入到Django模型、视图、模板、表单,最后通过一个小型项目实战,进行综合性的应用,让读者获得更深入的学习。 一…

    编程 2025-04-28
  • 键值存储(kvs):从基础概念到实战应用

    本文将从基础概念入手,介绍键值存储(kvs)的概念、原理以及实战应用,并给出代码实现。通过阅读本文,您将了解键值存储的优缺点,如何选择最适合的键值存储方案,以及如何使用键值存储解决…

    编程 2025-04-28
  • Python编程实战:用Python做网页与HTML

    Python语言是一种被广泛应用的高级编程语言,也是一种非常适合于开发网页和处理HTML的语言。在本文中,我们将从多个方面介绍如何用Python来编写网页和处理HTML。 一、Py…

    编程 2025-04-28
  • Webrtc音视频开发React+Flutter+Go实战PDF

    本文将从多个方面介绍如何使用React、Flutter和Go来进行Webrtc音视频开发,并提供相应的代码示例。 一、Webrtc音视频开发介绍 Webrtc是Google开发的一…

    编程 2025-04-27
  • Python自动化交易实战教程

    本教程将详细介绍使用Python进行自动化交易的方法,包括如何选择优秀的交易策略、如何获取市场数据、如何实现策略并进行回测,以及如何使用Python自动化下单,并进行实盘交易,让您…

    编程 2025-04-27
  • Python开源量化系统的全面介绍和应用实战

    本文将从多个方面对Python开源量化系统进行介绍,并通过实例讲解其应用。通过本文的阅读,您将了解量化交易的概念、Python的量化工具、各种策略的实现方法以及回测与回溯分析等知识…

    编程 2025-04-27
  • Python读取同花顺日线数据实战

    本篇文章将以“Python读取同花顺日线数据”为主题,介绍如何使用python语言从同花顺网站上获取股票日线数据。通过该实战,读者可以学习到如何使用Python进行网页数据抓取、数…

    编程 2025-04-27
  • MySQL实战详解

    一、存储引擎 MySQL的存储引擎决定了数据如何被存储,不同的存储引擎适用于不同类型的应用场景。MySQL支持多种存储引擎,包括InnoDB、MyISAM、MEMORY等。 1、I…

    编程 2025-04-24
  • Prometheus配置详解

    一、基础配置 1、在Prometheus的配置文件中,需要定义scrape_configs字段,用于定义需要监控的目标。比如,我们要监控Node Exporter的metrics,…

    编程 2025-04-24
  • Django教程:从入门到实战

    Django是一个高级的Python Web框架,采用了MTV的设计模式。MTV表示Model-Template-View,是Django框架中的三个核心部分。 一、Django入…

    编程 2025-04-24

发表回复

登录后才能评论