全部產品
Search
文件中心

:採集ACK服務日誌

更新時間:Jun 30, 2024

阿里雲Filebeat支援採集Container ServiceKubernetes版ACK(Container Service for Kubernetes)日誌,並將採集的日誌輸出到Elasticsearch中,進行分析展示。本文介紹如何配置ACK服務日誌採集,以及如何查看ACK叢集中的採集器資源。

前提條件

  • 建立Elasticsearch執行個體。

    具體操作,請參見建立Elasticsearch執行個體

  • 自訂自動建立索引。

    為避免索引滾動別名與索引名衝突,建議僅開啟filebeat-*索引名,可配置為+.*,+filebeat-*,-*。具體操作,請參見配置YML參數自訂自動建立索引

    重要

    配置索引生命週期管理時,如果開啟了索引變換,為避免變換後的別名與索引名衝突,需要確保關閉自動建立索引;如果未開啟索引變換,則需要開啟自動建立索引。本文建議您設定自訂自動建立索引。

  • RAM使用者進行相關操作時,需要為該使用者授予Beats操作許可權和ACK操作許可權。

    詳細資料,請參見建立自訂權限原則為RAM使用者授權

  • 建立ACK叢集,並運行Pod服務。本文以Nginx容器為例。

    具體操作,請參見建立ACK託管叢集

注意事項

  • 阿里雲Filebeat僅支援Docker運行環境,不支援其他運行環境,例如Containerd、安全沙箱等。如果使用的是非Docker環境,會導致在建立Filebeat後,採集器一直處於生效中狀態。

  • 阿里雲Filebeat僅支援安裝在專有版ACK和託管版ACK上,不支援安裝在其他版本上。

    重要

    僅1.18和1.20版本的Kubernetes支援遠程構建。

操作步驟

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

  4. 選擇目標ES叢集設定精靈中,配置採集器資訊。

    選擇目標ES叢集

    參數

    說明

    採集器名稱

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

    安裝版本

    目前Filebeat只支援6.8.13版本。

    採集器Output

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

    重要

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

    使用者名稱密碼

    訪問Elasticsearch執行個體的使用者名稱和密碼。使用者名稱預設為elastic,密碼在建立執行個體時設定,如果忘記可重設。重設密碼的注意事項和操作步驟,請參見重設執行個體訪問密碼

    啟用Monitoring

    用來監控Filebeat的相關指標。採集器Output選擇Elasticsearch,Monitor預設使用和採集器Output相同的Elasticsearch執行個體。

    啟用Kibana Dashboard

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

  5. 單擊下一步,在設定採集目標設定精靈中,配置採集目標資訊。

    1. ACK目的地組群中,選擇需要進行資料擷取的目的地組群。

      重要

      請選擇與Elasticsearch執行個體在同一專用網路、Running狀態和非邊緣託管版(什麼是)的ACK叢集。

    2. 根據提示,單擊安裝,安裝採集依賴的ES-operator。

      沒有安裝按鈕,表示已經安裝。安裝後,安裝按鈕消失,代表安裝成功。

    3. 單擊+建立採集目標,配置採集目標資訊(支援多個)。

      建立採集目標

      參數

      說明

      採集目標名稱

      建立多個採集目標時,名稱不可重複。

      命名空間

      選擇採集Pod所在的命名空間。如果建立Pod時,未指定命名空間,則預設是default

      Pod Label

      添加Pod標籤。添加多個標籤時,多個標籤之間為邏輯與關係。

      重要
      • 刪除Pod標籤時,需要至少存在兩個標籤。

      • 只能定義為Pod對應的Label,不能指定為其他Label,否則會建立失敗(例如不能指定為Deployment Label)。

      容器名稱

      指定完整的容器名稱。不填時,Filebeat會採集命名空間下符合Pod標籤的所有容器。

      說明

      擷取Pod相關資訊(命名空間、標籤、名稱)的具體操作,請參見管理容器組(Pod)

  6. 單擊下一步,在日誌採集配置設定精靈中,單擊+添加日誌採集配置,配置日誌採集資訊(支援多個)。日誌採集配置

    參數

    說明

    日誌名稱

    每個採集目標支援定義多個採集配置,每個採集配置對應一個日誌名稱,不可重複。日誌名稱可作為索引名的一部分,用於後續輸出使用。

    採集器配置

    使用Docker容器日誌採集通用模板。採集配置整合Autodiscover事件變數,支援Docker input,具體說明如下:

    • type:輸入類型。採集容器日誌時為docker,不同的資料擷取支援不同的類型。詳細資料,請參見Configure inputs

    • combine_partial:合并多行日誌。詳細資料,請參見Docker input(combine_partial)

    • containers.ids:Docker容器日誌的ID列表。詳細資料,請參見Docker input(containers.ids)

    • fileds.k8s_container_name:在採集器的輸出資訊中,添加k8s_container_name欄位,引用變數${data.kubernetes.container.name}

      說明

      Docker容器配置整合了Filebeat Autodiscover,配置模板可引用Autodiscover事件變數。

    • fileds.k8s_node_name:在採集器的輸出資訊中,添加k8s_node_name欄位,引用變數${data.kubernetes.node.name}

    • fileds.k8s_pod:在採集器的輸出資訊中,添加k8s_pod欄位,引用變數${data.kubernetes.pod.name}

    • fileds.k8s_pod_namespace:在採集器的輸出資訊中,添加k8s_pod_namespace欄位,引用變數${data.kubernetes.namespace}

    • fields_under_root:設定為true,fileds儲存在輸出文檔的頂級位置。詳細資料,請參見Docker input(fields_under_root)

    說明
    • 如果通用模板無法滿足需求,建議您參見FileBeat Docker input修改。

    • 一個採集器配置僅支援一個Docker輸出。如果需要使用多個配置,請單擊添加日誌採集配置

  7. 可選:單擊下一步,在索引儲存管理設定精靈中,根據需求開啟並配置索引儲存管理功能。

    開啟索引儲存管理後,單擊+添加索引管理原則,按照以下說明配置策略(支援多個)。索引儲存管理

    參數

    說明

    策略名稱稱

    定義策略名稱稱,可自訂。

    選擇目標日誌

    選擇待關聯的目標日誌,至少選擇一個。一個策略可選擇多個目標日誌,每個日誌僅可被一個日誌管理原則選擇。

    資源大小限制

    索引實際佔用磁碟空間達到資源限制時(包括副本),將刪除過舊資料,以保證不超過該資源大小限制。

    生命週期管理

    是否開啟索引生命週期管理。生命週期管理可以實現資料節點冷熱分離、到期自動刪除資料等。

    重要
    • 開啟變換,Filebeat會將資料寫入名稱為<日誌名稱>-<日期>-<序號>的索引下,例如log-web-2021.01.22-000001

    • 不開啟變換,Filebeat會將資料寫入名稱為filebeat-<日誌名稱>-<日期>的索引下。

  8. 單擊啟動

    啟動後,您可在採集器列表中查看對應的採集器。啟動成功後,您還可以完成以下操作。

    說明

    ACK叢集預設在名稱為logging的空間下部署採集器資源,部署完成後,您可以訪問對應ACK叢集查看已部署的採集器資源,例如索引管理容器、索引生命週期變換策略等,詳細資料請參見查看ACK叢集中的採集器資源

    操作

    說明

    配置預覽

    可查看採集器Output、ACK目的地組群及採集任務名稱等資訊,不支援修改這些資訊。

    修改詳情配置

    可修改採集目標、日誌採集配置和索引儲存管理原則。

    更多

    可啟動、停止、重啟、刪除採集任務,並支援查看Dashboard和Helm狀態。

查看ACK叢集中的採集器資源

執行以下命令,通過kubectl訪問ACK叢集,並查看logging空間下的採集器資源,詳細資料請參見擷取叢集KubeConfig並通過kubectl工具串連叢集

kubectl get pods -n logging

fig01

警告

禁止刪除或操作logging名稱空間下已經部署的資源,否則會影響系統的正常使用。

pod name

說明

樣本

執行個體名稱-binding-序號

索引管理容器,例如:定時刪除老資料。

ct-cn-ew8qx563gu4ng4ot6-binding-7e245-1617347400-c****

執行個體名稱-policy-序號

索引生命週期變換策略。

ct-cn-ew8qx563gu4ng4ot6-policy-696b7-hot-rollover-1g-16173v****

執行個體名稱-序號

Filebeat容器。

ct-cn-ew8qx563gu4ng4ot6-q****

es-operator-序號

建立的ES-operator容器。

es-operator-cb63cc9a6302e4e90aeb2f79adf358b19-56fcd754db-b****