• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  使用Prometheus監控Linux服務器的性能

      使用Prometheus監控Linux服務器的性能

      來源:千鋒教育
      發布人:xqq
      時間: 2023-12-20 18:56:31

      使用Prometheus監控Linux服務器的性能

      隨著云計算和大數據的快速發展,服務器監控成為了每個IT人員必須要掌握的技能之一。而Prometheus作為一個開源的監控系統,它的靈活性和可擴展性廣受好評。本文將介紹如何使用Prometheus監控Linux服務器的性能。

      一、Prometheus簡介

      Prometheus是由SoundCloud公司開發的一款開源的,基于HTTP的指標監控系統和時序列數據庫。Prometheus最初在2012年開源,在當時還沒有像Kubernetes和Docker等流行的容器技術。Prometheus的設計目的是用于監控云(cloud)環境下具有高度動態性的大型服務集群的性能指標和其他的統計信息。

      Prometheus采用了一個多維數據模型(metric),它由指標名稱和一組標簽(labels)組成。指標名稱定義了被測量的信息的類型,標簽可以用于對指標進行維度切分和聚合。Prometheus通過HTTP抓取暴露的指標數據,同時通過一系列的查詢語言和視圖生成工具,對數據進行分析、可視化和告警等操作。

      二、Prometheus安裝

      Prometheus可以通過二進制包或者Docker等方式安裝。在本文中,我們將使用二進制包的方式進行安裝。

      1. 下載最新版本的Prometheus包:

      wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz

      2. 解壓縮下載的包:

      tar xvfz prometheus-*.tar.gz

      3. 進入解壓后的目錄,啟動Prometheus:

      cd prometheus-*./prometheus

      4. 在瀏覽器中訪問 http://localhost:9090,即可訪問Prometheus的Web界面。

      三、Prometheus監控

      在Prometheus中,監控被稱為“抓取(scrape)”。Prometheus默認會在9090端口暴露一個/metrics的HTTP端點,用于抓取指標數據。而對于需要監控的服務,我們需要在配置文件中指定其相應的URL。

      對于Linux服務器的監控,我們可以使用node_exporter來暴露服務器的指標數據。node_exporter可用于Linux/Unix節點的硬件和操作系統度量指標。它提供了一個/ metrics端點,以便于Prometheus抓取。

      1. 下載node_exporter:

      wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz

      2. 解壓縮下載的包:

      tar xvfz node_exporter-*.tar.gz

      3. 進入解壓后的目錄,啟動node_exporter:

      cd node_exporter-*./node_exporter

      4. 在瀏覽器中訪問 http://localhost:9100/metrics ,可以查看node_exporter暴露的所有指標數據。

      5. 修改Prometheus配置文件,添加node_exporter的監控目標:

      vi prometheus.yml

      在prometheus.yml中添加以下內容:

      - job_name: 'node_exporter'  static_configs:    - targets: ['localhost:9100']

      6. 重新啟動Prometheus服務:

      killall prometheus./prometheus

      7. 在瀏覽器中訪問 http://localhost:9090/targets,可以查看Prometheus的目標列表,以及目標的狀態。

      四、查詢數據

      Prometheus提供了強大的查詢語言,可以用于從指標數據中提取有價值的信息。Prometheus的查詢語言是類似于SQL的,但是它的特點是可以使用正則表達式來對指標名稱進行匹配。

      以下是一些常用的查詢語句:

      - 查詢CPU使用率:

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

      - 查詢內存使用率:

      100 - ((node_memory_MemFree + node_memory_Cached + node_memory_Buffers) / node_memory_MemTotal * 100)

      - 查詢磁盤使用率:

      100 * (1 - (node_filesystem_avail_bytes{mountpoint="/"}/node_filesystem_size_bytes{mountpoint="/"}))

      - 查詢網絡流量:

      sum by (interface) (rate(node_network_receive_bytes_total[5m])) / 1024 / 1024

      五、告警

      Prometheus還提供了告警功能,可以在監控數據達到某個閾值時,自動觸發告警。在Prometheus中,告警分為兩個部分:告警規則和告警接收器。

      1. 告警規則

      告警規則定義了告警的條件和相應的處理方式。告警規則需要定義在Prometheus的配置文件中,通常保存在一個獨立的文件中。

      以下是一個簡單的告警規則示例:

      groups:  - name: example.rules    rules:      - alert: high_memory_usage        expr: (node_memory_MemFree + node_memory_Cached + node_memory_Buffers) / node_memory_MemTotal < 0.2        for: 5m        labels:          severity: warning        annotations:          summary: "High memory usage on {{ $labels.instance }}"          description: "{{ $labels.instance }} has less than 20% memory left"

      2. 告警接收器

      告警接收器用于接收告警信息,并執行相應的操作,如發送郵件或者調用外部腳本等。Prometheus支持多種告警接收器,包括郵件、Slack、PagerDuty、Webhook等。

      以下是一個簡單的告警接收器示例:

      receivers:  - name: 'email'    email_configs:      - to: 'foo@example.com'        from: 'bar@example.com'        smarthost: 'smtp.example.com'

      三、總結

      本文介紹了使用Prometheus監控Linux服務器的過程,包括安裝、配置監控目標、查詢數據和告警等。Prometheus作為一種開源的監控系統,具有靈活性和可擴展性,適用于云計算和大數據環境下的服務集群監控。

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      IaaS,PaaS和SaaS企業如何選擇云計算服務

      2023-12-20

      Linux網絡設計使用iptables進行安全控制

      2023-12-20

      使用Docker管理你的應用程序一份圖文詳解教程!

      2023-12-20

      最新文章NEW

      構建高可用的Linux服務器集群,實現系統無縫升級

      2023-12-20

      使用Prometheus監控Linux服務器的性能

      2023-12-20

      Docker最佳實踐如何使用容器在云中擴展應用程序

      2023-12-20

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>