Systemd是Linux系統的一個初始化系統和服務管理員,負責啟動系統後的所有服務。其中,Journal是Systemd的一個組成部分,用於收集和儲存系統日誌。在Kubernetes容器情境下,如需擷取kubelet、作業系統層等涉及節點穩定性的關鍵計量日誌,您需要通過Systemd Journal日誌資料進行查詢和分析。ACK叢集相容了Log ServiceSLS,您可以安裝日誌組件Logtail,通過DaemonSet的方式完成採集。
計費說明
前提條件
已在ACK叢集中安裝logtail-ds組件,且組件版本為1.0.0以上。具體操作,請參見步驟一:安裝Logtail組件。
已通過kubectl工具串連叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
步驟一:通過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日誌。