Découvrez comment configurer le transfert de journaux de plan de contrôle Superviseur vers des systèmes de surveillance externes, tels que Grafana Loki ou Elastic Search, à l'aide de Fluent Bit.
Les journaux du plan de contrôle Superviseur sont automatiquement transférés au serveur Syslog configuré vers le dispositif vCenter Server à l'aide de Fluent Bit. Fluent Bit est un processeur et un redirecteur de journalisation et de mesures légers open source qui fournit des configurations pour prendre en charge divers types de données de journaux, le filtrage et les améliorations de balises de journaux.
Lors de l'activation ou de la mise à niveau de Superviseur, les journaux de démarrage sont toujours transférés par rsyslog aux serveurs Syslog configurés sur le dispositif vCenter Server. Une fois les machines virtuelles du plan de contrôle Superviseur en cours d'exécution, Fluent Bit devient le redirecteur de journaux par défaut pour les journaux du plan de contrôle Superviseur.
En tant qu'administrateur vSphere, vous pouvez utiliser Fluent Bit pour :
Transférer des journaux du plan de contrôle Superviseur et des journaux système vers les principales plates-formes de surveillance de journaux externes telles que Loki, Elastic Search, Grafana et d'autres plates-formes prises en charge par Fluent Bit.
- Mettre à jour ou réinitialiser la configuration du transfert de journaux pour le plan de contrôle Superviseur à l'aide de 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
Personnaliser le transfert de journaux Fluent Bit
Suivez les étapes pour personnaliser la configuration du transfert de journaux Fluent Bit :
- Connectez-vous au plan de contrôle Superviseur en tant qu'administrateur vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Mettez à jour ou ajoutez une sortie syslog dans la section outputs-custom.conf du ConfigMap fluentbit-config, qui transfère tous les journaux système de machine virtuelle du plan de contrôle vers un serveur externe.
[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
- Appliquez les modifications au ConfigMap 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 -
Surveillez l'espace Fluent Bit pour appliquer automatiquement les modifications de configuration et interrogez les journaux Superviseur sur le serveur Syslog. Si le DaemonSet Fluentbit s'exécute avec une erreur après le nouveau chargement de la configuration mise à jour, réparez ou réinitialisez la configuration dans le ConfigMap
fluentbit-config-custom
pour vous assurer que le DaemonSet Fluentbit est sain.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Transférer les journaux d'audit du serveur d'API Kubernetes vers un serveur Grafana Loki
Suivez les étapes pour configurer le transfert de journaux vers un serveur Grafana Loki externe :
- Connectez-vous au plan de contrôle Superviseur en tant qu'administrateur vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Mettez à jour ou ajoutez une sortie Loki dans la section outputs-custom.conf du ConfigMap fluentbit-config-custom, qui transfère tous les journaux système de la machine virtuelle du plan de contrôle vers le serveur de journaux Loki.
[OUTPUT] Name loki Alias system_output_loki Match system* Host <loki-server-host> Port <loki-server-port> Labels $hostname,$appname,$filename,$procid,$labels
- Appliquez les modifications au ConfigMap 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 -
Surveillez l'espace Fluent Bit pour appliquer automatiquement les modifications de configuration et interrogez les journaux Superviseur sur le serveur Syslog. Si le DaemonSet Fluentbit s'exécute avec une erreur après le nouveau chargement de la configuration mise à jour, réparez ou réinitialisez la configuration dans le ConfigMap
fluentbit-config-custom
pour vous assurer que le DaemonSet Fluentbit est sain.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Transférer les journaux vers Elastic Search
- Connectez-vous au plan de contrôle Superviseur en tant qu'administrateur vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Mettez à jour ou ajoutez une sortie Elastic Search dans la section outputs-custom.conf du ConfigMap fluentbit-config-custom, qui transfère tous les journaux système de machine virtuelle du plan de contrôle au serveur journal ES.
[OUTPUT] Name es Alias system_output_es Match system* Host <es-server-host> Port <es-server-port> Index supervisor Type controlplanevm
- Appliquez les modifications au ConfigMap 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 -
Surveillez l'espace Fluent Bit pour appliquer automatiquement les modifications de configuration et interrogez les journaux Superviseur sur le serveur Syslog.
> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Transférer les journaux d'audit de l'API Kubernetes vers un serveur Syslog
Suivez les étapes pour configurer le transfert des journaux d'audit de l'API Kubernetes vers un serveur Syslog externe :
- Ajoutez l'entrée kubectl-plugin-vsphere et authproxy à fluentbit-config ConfigMap :
[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
- Ajoutez le filtre kubectl-plugin-vsphere et authproxy au ConfigMap 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
- Ajoutez la sortie kubectl-plugin-vsphere au serveur syslog au ConfigMap 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
- Incluez les fichiers ci-dessus dans le ConfigMap fluentbit-config sous l'espace de noms 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