Configurazione dei file di registro raccolti dall'agente
Quando si distribuisce o si aggiorna l'agente di registrazione, è possibile configurare il file logs-values.yaml per includere ed escludere il set di registri che l'agente deve elaborare. Per impostazione predefinita, l'agente raccoglie
i log da /var/log/containers/*.log e ignora /var/log/at/*.
Dopo aver modificato il sito logs-values.yaml, è possibile aggiornare l'agente o continuare a modificare il file prima di applicare tutte le modifiche.
Configurazione dei file di log personalizzati
Le seguenti variabili aggiuntive possono essere fornite per includere ed escludere l'insieme di registri che l'agente deve elaborare:
excludeLogSourcePaths: Elenco dei file che l'agente è configurato per ignorare. Il valore di defailt è impostato su ignora/var/log/at/*selectedLogSourcePaths: Elenco dei file che l'agente raccoglie e invia a IBM Cloud Logs. Il valore predefinito è impostato su/var/log/containers/*.log. È possibile definire più percorsi utilizzando un elenco separato da virgole, ad esempio/var/log/abc/*.log,/var/log/xyz/*.log.
La voce nel file logs-values.yaml ha il seguente aspetto:
# comma separated list, for example “/var/log/abc/*.log,/var/log/xyz/*.log”
excludeLogSourcePaths: ""
selectedLogSourcePaths: ""
Configurazione dei log dei componenti del sistema
I registri dei componenti di sistema registrano gli eventi che si verificano nel cluster. Esistono due tipi di componenti di sistema: i componenti di sistema che vengono eseguiti in un contenitore e i componenti di sistema direttamente coinvolti nell'esecuzione dei contenitori. Ad esempio, kubelet e il runtime del container non vengono eseguiti nei container. Lo scheduler Kubernetes, il controller manager e il server API vengono eseguiti all'interno dei pod. Se il cluster utilizza kube-proxy, di solito viene eseguito come DaemonSet.
Utilizzare l'impostazione systemLogs per abilitare l'elaborazione dei registri dei componenti di sistema che si trovano nella directory /var/log. I registri di sistema in /var/log/containers/ vengono raccolti
automaticamente, a meno che non li si escluda nella sezione excludeLogSourcePaths.
La voce nel file logs-values.yaml ha il seguente aspetto:
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
Per impostazione predefinita, viene utilizzato il parser kube_syslog.
Alcuni dei cluster classici Kubernetes possono richiedere che systemLogsParser sia impostato su kube_syslog_classic per adattarsi al formato del timestamp su quei sistemi. Si può usare l'opzione systemLogsParser per considerare un parser diverso. La voce nel file logs-values.yaml ha il seguente aspetto:
systemLogsParser: "kube_syslog_classic"
systemLogs:
- /var/log/syslog