Erfahren Sie, wie Sie mit Fluent Bit die Weiterleitung der Protokolle der Supervisor-Control Plane an externe Überwachungssysteme wie Grafana Loki oder Elastic Search konfigurieren.
Protokolle der Supervisor-Control Plane werden mit Fluent Bit automatisch an den für die vCenter Server-Appliance konfigurierten Syslog-Server weitergeleitet. Fluent Bit ist ein leichtgewichtiger Open Source-Prozessor und -Forwarder für Protokolle und Metriken, der Konfigurationen zur Unterstützung verschiedener Protokolldatentypen, Filterung und Protokoll-Tag-Erweiterungen bereitstellt.
Während der Supervisor-Aktivierung oder einem -Upgrade werden Bootstrap-Protokolle weiterhin von rsyslog an die für die vCenter Server-Appliance konfigurierten Syslog-Server weitergeleitet. Sobald die VMs der Supervisor-Control Plane ausgeführt werden, wird Fluent Bit zur Standardprotokollweiterleitung für die Protokolle der Supervisor-Control Plane.
Als vSphere-Administrator können Sie Fluent Bit für Folgendes nutzen:
Weiterleiten der Protokolle und Systemjournalprotokolle der Supervisor-Control Plane an wichtige externe Protokollüberwachungsplattformen wie Loki, Elastic Search, Grafana und andere Plattformen, die von Fluent Bit unterstützt werden.
- Aktualisieren oder Zurücksetzen der Konfiguration für die Protokollweiterleitung für die Supervisor-Control Plane über die k8s-API.
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
Anpassen der Fluent Bit-Protokollweiterleitung
Führen Sie folgende Schritte aus, um die Konfiguration der Fluent Bit-Protokollweiterleitung anzupassen:
- Melden Sie sich bei der Supervisor-Control Plane als vCenter Single Sign-On-Administrator an.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aktualisieren oder fügen Sie im Abschnitt outputs-custom.conf in der ConfigMap fluentbit-config-custom eine Syslog-Ausgabe hinzu, die alle Systemprotokolle der Control Plane-VM an einen externen Server weiterleitet.
[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
- Wenden Sie die Änderungen der ConfigMap fluentbit-config-custom an.
> 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 -
Überwachen Sie den Fluent Bit-Pod, um die Konfigurationsänderungen automatisch anzuwenden. Fragen Sie Supervisor-Protokolle auf dem Syslog-Server ab. Falls das Fluentbit-DaemonSet nach dem erneuten Laden der aktualisierten Konfiguration fehlerhaft ausgeführt wird, reparieren Sie die Konfiguration oder setzen Sie sie in der ConfigMap
fluentbit-config-custom
zurück, um sicherzustellen, dass das Fluentbit-DaemonSet fehlerfrei ist.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Weiterleiten von Überwachungsprotokollen des Kubernetes-API-Servers an einen Grafana Loki-Server
Führen Sie folgende Schritte aus, um die Protokollweiterleitung an einen externen Grafana Loki-Server zu konfigurieren:
- Melden Sie sich bei der Supervisor-Control Plane als vCenter Single Sign-On-Administrator an.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aktualisieren Sie eine Loki-Ausgabe im Abschnitt outputs-custom.conf in der ConfigMap fluentbit-config-custom bzw. fügen Sie eine Loki-Ausgabe hinzu. Dadurch werden alle Systemprotokolle der Control Plane-VM an den Loki-Protokollserver weitergeleitet.
[OUTPUT] Name loki Alias system_output_loki Match system* Host <loki-server-host> Port <loki-server-port> Labels $hostname,$appname,$filename,$procid,$labels
- Wenden Sie die Änderungen der ConfigMap fluentbit-config-custom an.
> 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 -
Überwachen Sie den Fluent Bit-Pod, um die Konfigurationsänderungen automatisch anzuwenden. Fragen Sie Supervisor-Protokolle auf dem Syslog-Server ab. Falls das Fluentbit-DaemonSet nach dem erneuten Laden der aktualisierten Konfiguration fehlerhaft ausgeführt wird, reparieren Sie die Konfiguration oder setzen Sie sie in der ConfigMap
fluentbit-config-custom
zurück, um sicherzustellen, dass das Fluentbit-DaemonSet fehlerfrei ist.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Weiterleiten von Protokollen an Elastic Search
- Melden Sie sich bei der Supervisor-Control Plane als vCenter Single Sign-On-Administrator an.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Aktualisieren Sie eine Elastic Search-Ausgabe im Abschnitt outputs-custom.conf in der ConfigMap fluentbit-config-custom bzw. fügen Sie eine Elastic Search-Ausgabe hinzu. Dadurch werden alle Systemprotokolle der Control Plane-VM an den Elastic Search-Protokollserver weitergeleitet.
[OUTPUT] Name es Alias system_output_es Match system* Host <es-server-host> Port <es-server-port> Index supervisor Type controlplanevm
- Wenden Sie die Änderungen der ConfigMap fluentbit-config-custom an.
> 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 -
Überwachen Sie den Fluent Bit-Pod, um die Konfigurationsänderungen automatisch anzuwenden. Fragen Sie Supervisor-Protokolle auf dem Syslog-Server ab.
> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Weiterleiten von API-Überwachungsprotokollen an einen Syslog-Server
Führen Sie folgende Schritte aus, um die Weiterleitung von Überwachungsprotokollen der Kubernetes-API an einen externen Syslog-Server zu konfigurieren:
- Fügen Sie die Eingaben kubectl-plugin-vsphere und authproxy zur ConfigMap fluentbit-config hinzu:
[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
- Fügen Sie die Filter kubectl-plugin-vsphere und authproxy zur ConfigMap fluentbit-config hinzu:
[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
- Fügen Sie die kubectl-plugin-vsphere für die Ausgabe an den Syslog-Server zur ConfigMap fluentbit-config hinzu:
[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
- Fügen Sie die oben genannten Dateien in der ConfigMap fluentbit-config unter dem Namespace vmware-system-logging ein.
> 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