設定代理程式收集的日誌檔案

部署或升級記錄代理程式時,您可以設定 logs-values.yaml 檔案,以包含或排除要由代理程式處理的記錄集。 預設情況下,代理程式會從 /var/log/containers/*.log 收集日誌,並忽略 /var/log/at/*

修改 logs-values.yaml 之後,您可以在套用所有變更之前 升級代理 程式或繼續修改檔案。

設定自訂記錄檔

可以提供下列附加變數,以包含或排除代理程式要處理的日誌集:

  • excludeLogSourcePaths:代理被設定為忽略的檔案清單。 defailt 值設定為忽略 /var/log/at/*
  • selectedLogSourcePaths:代理收集並傳送至 IBM Cloud Logs 的檔案清單。 預設值設定為 /var/log/containers/*.log。 您可以使用逗號分隔的清單定義多個路徑,例如 /var/log/abc/*.log,/var/log/xyz/*.log

logs-values.yaml 檔案中的項目如下:

# comma separated list, for example “/var/log/abc/*.log,/var/log/xyz/*.log”
excludeLogSourcePaths: ""
selectedLogSourcePaths: ""

設定系統元件日誌

系統元件日誌記錄群集中發生的事件。 系統元件有兩種類型:在容器中執行的系統元件和直接參與執行容器的系統元件。 例如,kubelet 和容器運行時間不在容器中運行。 Kubernetes 排程器、控制器管理員和 API 伺服器在 Pod 中執行。 如果您的群集使用 kube-proxy,通常會以 DaemonSet 的方式執行。

使用 systemLogs 設定啟用處理位於 /var/log 目錄中的系統元件日誌。 /var/log/containers/ 中的系統日誌會自動收集,除非您在 excludeLogSourcePaths 區段中排除這些日誌。

logs-values.yaml 檔案中的項目如下:

systemLogs:
  - /var/log/kube-apiserver.log. # Logs generated by the API server.
  - /var/log/kube-scheduler.log # Logs generated by the scheduler. This component is responsible for making scheduling decisions.
  - /var/log/kube-controller-manager.log # Logs generated by the Kube controller manager that runs most Kubernetes built-in controllers.
  - /var/log/kube-proxy.log  # Logs generated by the kube-proxy. This component is responsible for directing traffic to Service endpoints.
  - /var/log/kubelet.log  # Logs generated by the kubelet. This component is responsible for running containers on the node.
  - /var/log/syslog

預設使用 kube_syslog 解析器。

某些經典的 Kubernetes 集群可能需要將 systemLogsParser 設定為 kube_syslog_classic,以便與這些系統上的時間戳格式相匹配。 您可以使用 systemLogsParser 選項,以便考慮不同的解析器。 logs-values.yaml 檔案中的項目如下:

systemLogsParser: "kube_syslog_classic"
systemLogs:
  - /var/log/syslog