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/zh-tw/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

發表回復

登錄後才能評論