全部產品
Search
文件中心

Elasticsearch:採集ECS服務日誌

更新時間:Nov 16, 2024

通過採集器(Beats),您可以採集Elastic Compute Service(Elastic Compute Service)中的記錄檔、網路資料、伺服器指標等資料,發送到Elasticsearch或Logstash中進行監控、分析等操作。本文以Filebeat為例,介紹如何配置ECS服務日誌採集。

前提條件

您已完成以下操作:

  • 建立Elasticsearch執行個體或Logstash執行個體,本文以6.7.0版本為例。

    具體操作,請參見建立Elasticsearch執行個體建立阿里雲Logstash執行個體

  • 開啟Elasticsearch執行個體的自動建立索引功能。

    出於安全考慮,Elasticsearch預設不允許自動建立索引。但Beats採集ECS服務日誌時,需要依賴該功能,因此如果採集器Output選擇為Elasticsearch,需要開啟自動建立索引功能。具體操作,請參見配置YML參數

  • 建立ECS執行個體,且該ECS執行個體與Elasticsearch執行個體或Logstash執行個體處於同一專用網路下。

    建立執行個體時,請選擇Alibaba Cloud Linux (Alinux)、RedHat或CentOS這三種作業系統,因為Beats僅支援這三種作業系統。具體操作,請參見自訂購買執行個體

    重要

    Beats預設安裝目錄為/opt/aliyunbeats/。安裝後,ECS上會產生conflogsdata這3個目錄,分別映射了設定檔、Beats記錄檔和Beats資料檔案。建議不要刪除或修改這3個檔案中的內容,否則可能出現異常或者導致資料不正確。當出現問題時,您可以在logs目錄下查看Beats日誌來定位問題。

  • 在目標ECS執行個體上安裝雲助手和Docker服務。

    具體操作,請參見安裝雲助手Agent部署並使用Docker

    重要

    請使用社區版Docker(docker-ce),使用其他版本Docker(例如podman-docker),Beats將部署失敗。

操作步驟

  1. 登入Elasticsearch控制台
  2. 進入Beats資料擷取中心。
    1. 在頂部功能表列處,選擇地區。
    2. 在左側導覽列,單擊Beats資料擷取中心
    3. 可選:首次進入Beats資料擷取中心頁面,需要在服務授權對話方塊中查看提示資訊,無誤後單擊確認,授權系統建立服務關聯角色。
      說明 Beats採集不同資料來源中的資料時,依賴於服務關聯角色以及角色規則。使用過程中請勿刪除服務關聯角色,否則會影響Beats使用。詳細資料,請參見阿里雲ES服務關聯角色
  3. 配置並啟動ECS服務日誌採集。

    說明

    以下操作以Filebeat為例。

    1. 建立採集器地區,將滑鼠移至Filebeat上,單擊ECS日誌

      建立採集器頁面

      說明

      對於其他採集器,可直接單擊採集器名稱。例如建立Metricbeat採集器,可直接單擊Metricbeat

    2. 採集器配置設定精靈中,輸入或選擇採集器資訊。

      採集器配置

      參數

      說明

      採集器名稱

      自訂輸入採集器的名稱。長度為1~30個字元,以大小寫字母開頭,可以包含字母、數字、底線(_)或連字號(-)。

      安裝版本

      目前Filebeat只支援6.8.5版本。

      採集器Output

      Filebeat採集內容的輸出地址。直接關聯已經建立的Elasticsearch或Logstash執行個體。訪問協議需要與所選Elasticsearch執行個體保持一致。

      重要

      不支援選擇8.x版本的Elasticsearch執行個體。

      使用者名稱密碼

      如果採集器Output選擇Elasticsearch,需要提供對應的使用者名稱和密碼,使Filebeat有許可權向Elasticsearch執行個體中寫入資料。使用者名稱預設為elastic,密碼在建立執行個體時設定,如果忘記可重設。重設密碼的注意事項和操作步驟,請參見重設執行個體訪問密碼

      啟用Monitoring

      用來監控Filebeat的相關指標。如果採集器Output選擇Elasticsearch,Monitor預設使用和採集器Output相同的Elasticsearch執行個體;如果採集器Output選擇Logstash,則需要在設定檔中進行額外配置。

      啟用Kibana Dashboard

      用來配置預設的Kibana Dashboard。由於阿里雲Kibana配置在VPC內,因此需要在Kibana配置頁面開通Kibana私網訪問功能。具體操作,請參見配置Kibana公網或私網訪問白名單

      填寫Filebeat檔案目錄

      Filebeat專有的配置項。由於阿里雲採用Docker部署Beats,因此需要將您希望採集的目錄映射到Docker內,填寫時需要與filebeat.yml中的input.path目錄保持一致。如果為多級目錄,只要指定任意一級目錄即可,不支援匹配*,例如:input.path: /var/log/*/*.log,則Filebeat檔案目錄為/var//var/log/

      重要
      • 路徑可以指定為目錄或完整路徑,也可以模糊比對路徑下的某一類檔案。

      • 如果您需要採集多個目錄的日誌,可單擊+添加,在文字框中輸入待採集的路徑,同時在採集器YML配置paths參數中添加該路徑。

      採集器YML配置

      採集器設定檔。參考以下指令碼,確保日誌採集為開啟狀態, 且paths指定的目錄與您填寫的Filebeat檔案目錄保持一致。

      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log

      對於其他參數,請根據業務需求,修改對應配置,詳情請參見採集器YML配置

      重要
      • 指定採集器Output後,不需要再在採集器YML配置中單獨設定Output,否則會提示ECS採集器安裝錯誤。

      • 阿里雲Filebeat不支援自訂索引名,系統會預設建立名稱為filebeat-%{[agent.version]}-%{+yyyy.MM.dd}的索引,例如filebeat-6.8.5-2021.12.11

    3. 單擊下一步

    4. 可選:首次進入採集器安裝設定精靈,需要單擊前往授權。再在雲資源訪問授權頁面,單擊同意授權,為對應的Elasticsearch執行個體授予訪問ECS的許可權。

      授予對應執行個體訪問ECS的許可權

      • 授權服務由存取控制(RAM)提供,確認授權後,系統將會為您自動建立AliyunElasticsearchAccessingOOSRoleAliyunOOSAccessingECS4ESRole系統角色,以上兩個系統角色的預設系統策略分別是AliyunElasticsearchAccessingOOSRolePolicyAliyunOOSAccessingECS4ESRolePolicy,使用過程中請勿刪除系統角色和預設系統策略。

      • 如果RAM控制台授權的預設策略或系統角色被刪除,可通過雲資源訪問授權進行快捷授權,並為RAM使用者授予以下自訂許可權,否則會出現許可權不足的報錯。建立自訂許可權的具體操作,請參見建立自訂權限原則

        {
            "Version": "1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ram:CreateRole",
                        "ram:AttachPolicyToRole",
                        "ram:GetRole"
                    ],
                    "Resource": "acs:ram:*:*:role/*",
                    "Condition": {
                        "ForAllValues:StringEquals": {
                            "ram:TrustedPrincipalTypes": "Service",
                            "ram:ServiceNames": [
                                "elasticsearch.aliyuncs.com",
                                "oos.aliyuncs.com"
                            ]
                        }
                    }
                },
                {
                    "Effect": "Allow",
                    "Action": "ram:AttachPolicyToRole",
                    "Resource": "acs:ram:*:*:policy/*"
                },
                {
                    "Action": "ram:PassRole",
                    "Resource": "*",
                    "Effect": "Allow",
                    "Condition": {
                        "StringEquals": {
                            "acs:Service": "elasticsearch.aliyuncs.com"
                        }
                    }
                }
            ]
        }
    5. 採集器安裝設定精靈中,選擇需要操作的ECS執行個體。

      說明

      採集器安裝執行個體列表中會顯示當前帳號下,所有和採集器Output所選的Elasticsearch執行個體或Logstash執行個體處於同一個專用網路下的ECS,並且只有已經安裝雲助手及Docker服務的ECS才能安裝採集器。

    6. 單擊啟動

    7. 啟動成功對話方塊中,單擊前往採集中心查看。在採集器列表中,查看建立成功的採集器。

      等待採集器狀態變為已生效,說明採集器建立成功。已生效後面的兩個數字分別表示安裝成功的ECS數和目標ECS數,如果ECS執行個體生效成功,則兩邊數字相等。

  4. 查看運行執行個體。

    採集器建立成功後,您可以查看運行執行個體,判斷採集器是否安裝成功,並根據提示處理異常情況。

    1. 採集器管理地區,單擊對應採集器右側操作列下的查看運行執行個體

    2. 查看運行執行個體頁面,查看採集器安裝情況

      採集器安裝情況分為3種:心跳正常心跳異常安裝失敗。在心跳異常或者安裝失敗的情況下,您可以選擇移除或者重試問題節點。如果重試失敗,可參見Beats安裝失敗的排查與解決方案排查解決。

  5. 可選:查看Monitoring或Dashboard。

    如果您在建立採集器時選中了啟用Monitoring啟用Kibana Dashboard,那麼Beats啟動後,可以在對應Elasticsearch執行個體的Kibana中查看Monitor資訊或Dashboard圖表。

    1. 採集器管理地區,選擇對應採集器右側操作列下的更多 > 查看Dashboard

    2. 在Kibana控制台登入頁面,輸入使用者名稱和密碼,單擊登入

    3. 在左側導覽列,單擊Dashboard,再單擊對應指標,查看該指標的Dashboard圖表。

    4. 在左側導覽列,單擊Monitoring,再單擊對應監控項,查看該監控項的Monitoring資訊。

相關文檔

建立採集器的API文檔:CreateCollector

常見問題

  • Beats如何採集多個目錄下的日誌?

    在配置採集器時,單擊+添加,在文字框中輸入待採集的路徑,同時在採集器YML配置paths參數中添加該路徑。Beats採集多個目錄下的日誌

  • 基於ECS安裝阿里雲Beats失敗了,如何處理?

    請參見Beats安裝失敗的排查與解決方案排查解決。