全部產品
Search
文件中心

Container Service for Kubernetes:採集叢集節點的Systemd Journal日誌資料

更新時間:Sep 20, 2024

Systemd是Linux系統的一個初始化系統和服務管理員,負責啟動系統後的所有服務。其中,Journal是Systemd的一個組成部分,用於收集和儲存系統日誌。在Kubernetes容器情境下,如需擷取kubelet、作業系統層等涉及節點穩定性的關鍵計量日誌,您需要通過Systemd Journal日誌資料進行查詢和分析。ACK叢集相容了Log ServiceSLS,您可以安裝日誌組件Logtail,通過DaemonSet的方式完成採集。

計費說明

使用本功能時,除ACK叢集相關費用外,還會產生SLS相關費用。SLS以隨用隨付方式進行統一計費,請參見SLS計費概述

前提條件

步驟一:通過AliyunLogConfig配置採集方式

AliyunLogConfig是SLS自訂的CRD。您可以通過配置AliyunLogConfig的YAML檔案建立對應的CR,從而管理Logtail組件日誌採集的配置。

下方範例程式碼以建立名為systemd-journal-log-config的Logtail採集配置為例,介紹如何採集叢集內所有節點/logtail_host/var/log/journal路徑下的Systemd Journal日誌。

您可以在project欄位和logstore欄位中指定已有的Project和Logstore用於接收上報的資料,也可以讓系統自動建立。

apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
  # 資源名稱,需在當前ACK叢集內保持唯一。
  name: systemd-journal-log-config
  namespace: kube-system
spec:
  # 填寫採集資料上報的Project的名稱,預設為k8s-log-<your_cluster_id>。也支援自訂。如名稱對應的Project不存在,系統會自動建立一個Project。
  project: k8s-log-<your_cluster_id>
  # 填寫採集資料上報的Logstore的名稱。如果您所指定的Logstore不存在,系統會自動建立一個Logstore。
  logstore: systemd-journal-log
  # 設定Logtail採集配置。
  logtailConfig:
    # 設定採集的資料來源類型。採集文本日誌時,需設定為file。
    inputType: plugin
    # 設定Logtail採集配置的名稱。
    configName: systemd-journal-log-config
    inputDetail:
      plugin:
        inputs:
        - detail:
            JournalPaths:
            - "/logtail_host/var/log/journal"
            Kernel: true
            ParsePriority: true
            ParseSyslogFacility: true
          type: service_journal

步驟二:查詢和分析採集資料

完成採集配置後,您可以登入Log Service控制台,在目標Project、Logstore中查詢已上報的叢集的所有節點的Systemd Journal日誌資料。具體操作,請參見查詢和分析日誌

相關文檔

Logtail組件支援從原始的二進位檔案中採集Systemd Journal日誌資料,請參見採集Systemd Journal日誌