• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

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

      千鋒學(xué)習站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進入千鋒手機站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習站小程序
      隨時隨地免費學(xué)習課程

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

      使用Prometheus監(jiān)控Linux服務(wù)器的性能

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

      使用Prometheus監(jiān)控Linux服務(wù)器的性能

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

      一、Prometheus簡介

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

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

      二、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監(jiān)控

      在Prometheus中,監(jiān)控被稱為“抓?。╯crape)”。Prometheus默認會在9090端口暴露一個/metrics的HTTP端點,用于抓取指標數(shù)據(jù)。而對于需要監(jiān)控的服務(wù),我們需要在配置文件中指定其相應(yīng)的URL。

      對于Linux服務(wù)器的監(jiān)控,我們可以使用node_exporter來暴露服務(wù)器的指標數(shù)據(jù)。node_exporter可用于Linux/Unix節(jié)點的硬件和操作系統(tǒng)度量指標。它提供了一個/ 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暴露的所有指標數(shù)據(jù)。

      5. 修改Prometheus配置文件,添加node_exporter的監(jiān)控目標:

      vi prometheus.yml

      在prometheus.yml中添加以下內(nèi)容:

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

      6. 重新啟動Prometheus服務(wù):

      killall prometheus./prometheus

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

      四、查詢數(shù)據(jù)

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

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

      - 查詢CPU使用率:

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

      - 查詢內(nèi)存使用率:

      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="/"}))

      - 查詢網(wǎng)絡(luò)流量:

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

      五、告警

      Prometheus還提供了告警功能,可以在監(jiān)控數(shù)據(jù)達到某個閾值時,自動觸發(fā)告警。在Prometheus中,告警分為兩個部分:告警規(guī)則和告警接收器。

      1. 告警規(guī)則

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

      以下是一個簡單的告警規(guī)則示例:

      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. 告警接收器

      告警接收器用于接收告警信息,并執(zhí)行相應(yīng)的操作,如發(fā)送郵件或者調(diào)用外部腳本等。Prometheus支持多種告警接收器,包括郵件、Slack、PagerDuty、Webhook等。

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

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

      三、總結(jié)

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

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

      猜你喜歡LIKE

      IaaS,PaaS和SaaS企業(yè)如何選擇云計算服務(wù)

      2023-12-20

      Linux網(wǎng)絡(luò)設(shè)計使用iptables進行安全控制

      2023-12-20

      使用Docker管理你的應(yīng)用程序一份圖文詳解教程!

      2023-12-20

      最新文章NEW

      構(gòu)建高可用的Linux服務(wù)器集群,實現(xiàn)系統(tǒng)無縫升級

      2023-12-20

      使用Prometheus監(jiān)控Linux服務(wù)器的性能

      2023-12-20

      Docker最佳實踐如何使用容器在云中擴展應(yīng)用程序

      2023-12-20

      相關(guān)推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網(wǎng)友熱搜 更多>>