Informazioni su come configurare l'inoltro dei registri del piano di controllo del Supervisore a sistemi di monitoraggio esterni, come Grafana Loki o Elastic Search, utilizzando Fluent Bit.
I registri del piano di controllo del Supervisore vengono inoltrati automaticamente al server syslog configurato per vCenter Server Appliance utilizzando Fluent Bit. Fluent Bit è un processore e un server di inoltro di metriche e registrazione leggero open source che fornisce configurazioni per supportare vari tipi di dati di registro, filtri e miglioramenti dei tag di registro.
Durante l'attivazione o l'aggiornamento del Supervisore, i registri del bootstrap vengono comunque inoltrati da rsyslog ai server syslog configurati per vCenter Server Appliance. Una volta che le macchine virtuali del piano di controllo del Supervisore sono in esecuzione, Fluent Bit diventa il server di inoltro predefinito per i registri del piano di controllo del Supervisore.
Un amministratore di vSphere può utilizzare Fluent Bit per:
Inoltrare i registri del piano di controllo del Supervisore e i registri del journal di sistema alle principali piattaforme di monitoraggio dei registri esterne come Loki, Elastic Search, Grafana e altre piattaforme supportate da Fluent Bit.
- Aggiornare o reimpostare la configurazione di inoltro dei registri per il piano di controllo del Supervisore utilizzando l'API k8s.
inputs-custom.conf: | [INPUT] Name tail Alias audit_apiserver_tail Tag audit.apiserver.* Path /var/log/vmware/audit/kube-apiserver.log DB /var/log/vmware/fluentbit/flb_audit_apiserver.db Buffer_Max_Size 12MBb Mem_Buf_Limit 32MB Skip_Long_Lines On Refresh_Interval 10 filters-custom.conf: | [FILTER] Name record_modifier Alias audit_apiserver_modifier Match audit.apiserver.* Record hostname ${NODE_NAME} Record appname audit-kube-apiserver Record filename kube-apiserver.log outputs-custom.conf: | [OUTPUT] Name syslog Alias audit_apiserver_output_syslog Match audit.apiserver.* Host <syslog-server-host> Port <syslog-server-port> Mode tcp Syslog_Format rfc5424 Syslog_Message_key log Syslog_Hostname_key hostname Syslog_Appname_key appname Syslog_Msgid_key filename
Personalizzazione dell'inoltro dei registri di Fluent Bit
Eseguire i passaggi per personalizzare la configurazione dell'inoltro dei registri di Fluent Bit:
- Accedere al piano di controllo del Supervisore come amministratore di vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aggiornare o aggiungere un output syslog nella sezione outputs-custom.conf della mappa di configurazione fluentbit-config-custom, che inoltra tutti i registri di sistema della macchina virtuale del piano di controllo a un server esterno.
[OUTPUT] Name syslog Alias syslog_system Match system* Host <syslog-server-host> Port <syslog-server-port> Mode tcp Syslog_Format rfc5424 Syslog_Message_key log Syslog_Hostname_key hostname Syslog_Appname_key appname Syslog_Msgid_key filename # add the following if the mode is TLS Tls on Tls.verify off Tls.ca_file /etc/ssl/certs/vmca.pem
- Applicare le modifiche alla mappa di configurazione fluentbit-config-custom.
> kubectl -n vmware-system-logging edit cm fluentbit-config-custom # use the below command if the change is stored in outputs-custom.conf file > kubectl -n vmware-system-logging create configmap fluentbit-config-custom --from-file=filters-custom.conf --from-file=inputs-custom.conf --from-file=outputs-custom.conf -o yaml --from-file=parsers-custom.conf --dry-run | kubectl replace -f -
Monitorare il pod di Fluent Bit per applicare automaticamente le modifiche della configurazione ed eseguire una query relativa ai registri del Supervisore nel server syslog. Se il DaemonSet Fluent Bit causa un errore dopo il ricaricamento della configurazione aggiornata, riparare o reimpostare la configurazione nella mappa di configurazione
fluentbit-config-custom
per assicurarsi che il DaemonSet Fluent Bit sia integro.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Inoltro dei registri di controllo del server dell'API Kubernetes a un server Grafana Loki
Per configurare l'inoltro dei registri a un server Grafana Loki esterno, eseguire i passaggi seguenti:
- Accedere al piano di controllo del Supervisore come amministratore di vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aggiornare o aggiungere un output di Loki nella sezione outputs-custom.conf nella mappa di configurazione fluentbit-config-custom, che inoltra tutti i registri di sistema della macchina virtuale del piano di controllo al server dei registri Loki.
[OUTPUT] Name loki Alias system_output_loki Match system* Host <loki-server-host> Port <loki-server-port> Labels $hostname,$appname,$filename,$procid,$labels
- Applicare le modifiche alla mappa di configurazione fluentbit-config-custom.
> kubectl -n vmware-system-logging edit cm fluentbit-config-custom # use the below command if the change is stored in outputs-custom.conf file > kubectl -n vmware-system-logging create configmap fluentbit-config-custom --from-file=filters-custom.conf --from-file=inputs-custom.conf --from-file=outputs-custom.conf -o yaml --from-file=parsers-custom.conf --dry-run | kubectl replace -f -
Monitorare il pod di Fluent Bit per applicare automaticamente le modifiche della configurazione ed eseguire una query relativa ai registri del Supervisore nel server syslog. Se il DaemonSet Fluent Bit causa un errore dopo il ricaricamento della configurazione aggiornata, riparare o reimpostare la configurazione nella mappa di configurazione
fluentbit-config-custom
per assicurarsi che il DaemonSet Fluent Bit sia integro.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Inoltro dei registri a Elastic Search
- Accedere al piano di controllo del Supervisore come amministratore di vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aggiornare o aggiungere un output di Elastic Search nella sezione outputs-custom.conf nella mappa di configurazione fluentbit-config-custom, che inoltra tutti i registri di sistema della macchina virtuale del piano di controllo al server dei registri ES.
[OUTPUT] Name es Alias system_output_es Match system* Host <es-server-host> Port <es-server-port> Index supervisor Type controlplanevm
- Applicare le modifiche alla mappa di configurazione fluentbit-config-custom.
> kubectl -n vmware-system-logging edit cm fluentbit-config-custom # use the below command if the change is stored in outputs-custom.conf file > kubectl -n vmware-system-logging create configmap fluentbit-config-custom --from-file=filters-custom.conf --from-file=inputs-custom.conf --from-file=outputs-custom.conf -o yaml --from-file=parsers-custom.conf --dry-run | kubectl replace -f -
Monitorare il pod di Fluent Bit per applicare automaticamente le modifiche della configurazione ed eseguire una query relativa ai registri del Supervisore nel server syslog.
> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Inoltro dei registri di controllo dell'API Kubernetes a un server syslog
Eseguire i passaggi per configurare l'inoltro dei registri di controllo dell'API Kubernetes a un server syslog esterno:
- Aggiungere l'input kubectl-plugin-vsphere e authproxy alla mappa di configurazione fluentbit-config:
[INPUT] Name tail Tag auth.kubectl-plugin.* Path /var/log/containers/audit/kubectl-plugin-vsphere*.log DB /var/log/vmware/fluentbit/flb_auth_kubectl-plugin.db Skip_Long_Lines Off Refresh_Interval 10 [INPUT] Name tail Tag auth.authproxy.* Path /var/log/containers/audit/wcp-authproxy*.log DB /var/log/vmware/fluentbit/flb_auth_authproxy.db Skip_Long_Lines Off Refresh_Interval 10
- Aggiungere il filtro kubectl-plugin-vsphere e authproxy alla mappa di configurazione fluentbit-config:
[FILTER] Name kubernetes Match auth.* Kube_URL https://localhost:6443 Tls.verify Off K8S-Logging.Parser On K8S-Logging.Exclude On [FILTER] Name record_modifier Match auth.* Operation lift Nested_under kubernetes [FILTER] Name modify Match auth.* Rename container_name appname Rename host hostname Rename pod_name procid
- Aggiungere l'output kubectl-plugin-vsphere al server syslog per la mappa di configurazione fluentbit-config:
[OUTPUT] Name syslog Match auth.* Host <syslog-server-host> Port <syslog-server-port> Mode tcp Syslog_Format rfc5424 Syslog_Message_key log Syslog_Hostname_key hostname Syslog_Appname_key appname Syslog_Msgid_key filename
- Includere i file precedenti nella mappa di configurazione fluentbit-config nello spazio dei nomi vmware-system-logging.
> k -n vmware-system-logging edit cm fluentbit-config > k -n vmware-system-logging rollout restart ds fluentbit > k -n vmware-system-logging rollout status ds fluentbit