開發與維運

【最佳實踐】如何使用Metricbeat收集系統數據及Nginx服務數據

Elastic Beats(其中包含Metricbeat)是一組輕量型的數據採集器,可以方便地將數據發送給Elasticsearch服務。由於是輕量型的,Beats不會產生太多的運行開銷,因此,可以在硬件資源有限的設備(如 IoT 設備、邊緣設備或嵌入式設備)上運行和收集數據。如果您需要收集數據,但沒有資源來運行資源密集型數據收集器,那麼Beats會是您最佳的選擇。這種無處不在(涵蓋所有聯網設備)的數據收集方式,能夠讓您快速檢測到異常情況並做出反應,例如系統範圍內的問題和安全事件等。
Metricbeat可以收集並預處理系統和服務指標數據。系統指標包括運行中的進程的相關信息,以及CPU、內存、磁盤、網絡利用率等方面的數據。藉助豐富的模塊,可以收集來自不同服務的數據,包括Kafka、Palo Alto Networks、Redis等。

阿里雲Elasticsearch提供了全套Beats採集器供您使用,一鍵即可安裝部署。阿里雲Elasticsearch為您提供1個月的免費試用活動,單擊此處即可免費試用。本文介紹如何通過阿里雲Metricbeat採集器收集系統數據(CPU使用率、內存、磁盤IO和網絡IO統計數據)和Nginx服務數據,並生成可視化圖表。

前提條件

您已完成以下操作:

  • 創建阿里雲Elasticsearch實例。

    詳情請參見[創建阿里雲Elasticsearch實例](https://help.aliyun.com/document_detail/69055.html?spm=a2c4g.11186623.2.14.15304aacqwkZwh#task-2444429)。
    
  • 開啟阿里雲Elasticsearch實例的自動創建索引功能。

    處於安全考慮,阿里雲Elasticsearch默認不允許**自動創建索引**。但是Beats目前依賴該功能,因此如果**採集器Output**選擇為**Elasticsearch**,需要開啟**自動創建索引**功能,詳情請參見[開啟自動創建索引](https://help.aliyun.com/document_detail/134862.html?spm=a2c4g.11186623.2.15.15304aacqwkZwh#section-pcn-1xy-1l2)。
    
  • 創建阿里雲ECS實例,且該ECS實例與阿里雲Elasticsearch實例處於同一專有網絡下。

    詳情請參見[使用嚮導創建實例](https://help.aliyun.com/document_detail/87190.html?spm=a2c4g.11186623.2.16.15304aacqwkZwh#task-vwq-5g4-r2b)。
    
    **說明:** Beats目前僅支持Aliyun Linux、RedHat和CentOS這三種操作系統。
    
  • 在目標ECS實例上安裝雲助手和Docker服務。

    詳情請參見[安裝雲助手客戶端](https://help.aliyun.com/document_detail/64921.html?spm=a2c4g.11186623.2.17.15304aacqwkZwh#concept-wtg-32x-ydb)和[搭建Docker](https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.2.18.15304aacqwkZwh#concept-zmh-cpt-2fb)。
    

使用Metricbeat收集系統數據

  1. 登錄阿里雲Elasticsearch控制檯,在左側導航欄,單擊Beats數據採集中心
  2. 新建採集器區域中,單擊Metricbeat
  3. 安裝並配置採集器。

    詳情請參見[安裝採集器](https://help.aliyun.com/document_detail/146446.html?spm=a2c4g.11186623.2.20.15304aacqwkZwh#task-2384186)和[採集器YML配置](https://help.aliyun.com/document_detail/146447.html?spm=a2c4g.11186623.2.21.15304aacqwkZwh#concept-2385112),本文使用的配置如下。
    
    ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200824115343153.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2Mzk2NTYz,size_16,color_FFFFFF,t_70#pic_center)
-   勾選**啟用Monitoring**,系統會在Kibana控制檯開啟Metricbeat服務的監控。
-   勾選**啟用Kibana Dashbord**,系統會在Kibana控制檯中生成圖表,無需額外配置Yml。由於阿里雲Kibana配置在VPC內,因此需要先在Kibana配置頁面開通Kibana私網訪問功能,詳情請參見[配置Kibana公網或私網訪問白名單](https://help.aliyun.com/document_detail/122632.html?spm=a2c4g.11186623.2.23.15304aacqwkZwh#task-2444468)。
-   由於系統默認開啟了system模塊,因此無需進行**採集器Yml配置**。
  1. 單擊下一步
  2. 選擇採集器安裝的ECS實例。

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KC8LpZUe-1598239687594)(../images/p82419.png)]

    如果您是初次創建採集器,請先單擊前往授權,按照提示為阿里雲Elasticsearch授予訪問阿里雲ECS的權限。

  3. 啟動採集器並查看採集器安裝情況。

    1. 單擊啟動

      啟動成功後,系統彈出**啟動成功**對話框。
      
    2. 單擊前往採集中心查看,返回Beats數據採集中心頁面,在採集器管理區域中,查看啟動成功的Metricbeat採集器。
    3. 等待採集器狀態變為已生效1/1後,單擊右側操作欄下的查看運行實例
    4. 查看運行實例頁面,查看採集器安裝情況,當顯示為心跳正常時,說明採集器安裝成功。

        如果安裝失敗,可參見[Beats安裝失敗的排查與解決方法](https://help.aliyun.com/document_detail/179410.html)進行排查。
      
      ![\[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6K2GQm8D-1598239687610)(../images/p86408.png)\]](https://img-blog.csdnimg.cn/20200824115558236.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2Mzk2NTYz,size_16,color_FFFFFF,t_70#pic_center)
      
  4. 查看結果。

    1. 登錄目標阿里雲Elasticsearch實例的Kibana控制檯。

      具體步驟請參見[登錄Kibana控制檯](https://help.aliyun.com/document_detail/122668.html?spm=a2c4g.11186623.2.26.15304aacqwkZwh#task-761873)。
      
    2. 在左側導航欄,單擊Dashboard
    3. Dashboard列表中,單擊[Metricbeat System] Overview,再單擊對應的Metricbeat系統,查看該系統的監控儀表板。

      ![\[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZNe06DyW-1598239687626)(../images/p86416.png)\]](https://img-blog.csdnimg.cn/2020082411563744.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2Mzk2NTYz,size_16,color_FFFFFF,t_70#pic_center)
      

使用Metricbeat收集Nginx服務數據

前提條件:開啟Nginx服務的stub_status。由於ngx_http_stub_status_module模塊是Nginx中用來統計Nginx服務所接收和處理的請求數量,因此需要在nginx.conf文件中啟用stub_status

location /status {
           stub_status on;
           access_log off;
        }

說明: 下文中metricbeat.yml文件中配置的server_status_path要與nginx.conf中的status保持一致。

  1. 登錄阿里雲Elasticsearch控制檯,在左側導航欄,單擊Beats數據採集中心
  2. 新建採集器區域中,單擊Metricbeat
  3. 安裝並配置採集器。

    詳情請參見安裝採集器採集器YML配置,本文使用的配置如下。

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qW8r76bt-1598239687633)(../images/p86418.png)]

    需要在metricbeat.yml中添加如下腳本。

    metricbeat.modules:
    - module: nginx
      metricsets: ["stubstatus"]
      enabled: true
      period: 10s
      # Nginx hosts
      hosts: ["http://121.41.**.**"]
      # Path to server status. Default server-status
      server_status_path: "status"
    • 勾選啟用Monitoring,系統會在Kibana控制檯開啟Metricbeat服務的監控。

      • 勾選啟用Kibana Dashbord,系統會在Kibana控制檯中生成圖表,無需額外配置Yml。由於阿里雲Kibana配置在VPC內,因此需要先在Kibana配置頁面開通Kibana私網訪問功能,詳情請參見t614906.md#
  4. 單擊下一步
  5. 選擇採集器安裝的ECS實例。

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xQas71N7-1598239687645)(../images/p82419.png)]

    如果您是初次創建採集器,請先單擊前往授權,按照提示為阿里雲Elasticsearch授予訪問阿里雲ECS的權限。

  6. 啟動並查看採集器安裝情況。

    詳細操作方法請參見使用Metricbeat收集系統數據

  7. 查看結果。

    1. 在瀏覽器中,訪問<Nginx hosts>/status,打開監控頁面。

      ![\[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PUBlBcAG-1598239687666)(../images/p86420.png)\]](https://img-blog.csdnimg.cn/20200824115908551.png#pic_center)
      
2.  登錄目標阿里雲Elasticsearch實例的Kibana控制檯。

    具體步驟請參見[登錄Kibana控制檯](https://help.aliyun.com/document_detail/122668.html?spm=a2c4g.11186623.2.36.15304aacqwkZwh#task-761873)。

3.  在左側導航欄,單擊**Dashboard**。

4.  在**Dashboard**列表中,單擊**\[Metricbeat Nginx\] Overview**,查看Nginx服務的監控儀表板。

相關活動

更多折扣活動,請訪問阿里雲 Elasticsearch 官網

阿里雲 Elasticsearch 商業通用版,1核2G ,SSD 20G首月免費
阿里雲 Logstash 2核4G首月免費

image.png
image.png

Leave a Reply

Your email address will not be published. Required fields are marked *