Consulte cómo configurar el reenvío de registros del plano de control de Supervisor a sistemas de supervisión externos, como Grafana Loki o Elastic Search, mediante Fluent Bit.
Los registros del plano de control de Supervisor se reenvían automáticamente al servidor syslog configurado en el dispositivo vCenter Server mediante Fluent Bit. Fluent Bit es un reenviador y procesador de métricas y registros ligero de código abierto que proporciona configuraciones para admitir varios tipos de datos de registro, filtros y mejoras de etiquetas de registro.
Durante la activación o la actualización de Supervisor, rsyslog sigue reenviando los registros de arranque a los servidores syslog que están configurados en el dispositivo vCenter Server. Una vez que las máquinas virtuales del plano de control de Supervisor están en funcionamiento, Fluent Bit se convierte en el reenviador de registros predeterminado para los registros del plano de control de Supervisor.
Como administrador de vSphere, puede utilizar Fluent Bit para lo siguiente:
Reenviar registros del plano de control y registros del sistema de Supervisor a las principales plataformas externas de supervisión de registros, como Loki, Elastic Search, Grafana y otras plataformas compatibles con Fluent Bit.
- Actualizar o restablecer la configuración de reenvío de registros para el plano de control de Supervisor mediante la API de 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
Personalizar el reenvío de registros de Fluent Bit
Siga los pasos para personalizar la configuración de reenvío de registros de Fluent Bit:
- Inicie sesión en el plano de control de Supervisor como administrador de vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Actualice o agregue una salida de syslog en la sección outputs-custom.conf de ConfigMap fluentbit-config-custom, que reenviará todos los registros del sistema de la máquina virtual del plano de control a un servidor externo.
[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
- Aplique los cambios al 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 -
Supervise el pod de Fluent Bit para aplicar automáticamente los cambios de configuración y consulte los registros de Supervisor en el servidor syslog. Si el DaemonSet de Fluentbit se ejecuta con un error después de actualizar la configuración, repare o restablezca la configuración en el ConfigMap
fluentbit-config-custom
para asegurarse de que el DaemonSet de Fluentbit esté en buen estado.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Reenviar registros de auditoría del servidor de API de Kubernetes a un servidor Grafana Loki
Siga los pasos para configurar el reenvío de registros a un servidor Grafana Loki externo:
- Inicie sesión en el plano de control de Supervisor como administrador de vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Actualice o agregue un resultado de Loki en la sección outputs-custom.conf del ConfigMap fluentbit-config-custom, que reenviará todos los registros del sistema de la máquina virtual del plano de control al servidor de registros de Loki.
[OUTPUT] Name loki Alias system_output_loki Match system* Host <loki-server-host> Port <loki-server-port> Labels $hostname,$appname,$filename,$procid,$labels
- Aplique los cambios al 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 -
Supervise el pod de Fluent Bit para aplicar automáticamente los cambios de configuración y consulte los registros de Supervisor en el servidor syslog. Si el DaemonSet de Fluentbit se ejecuta con un error después de actualizar la configuración, repare o restablezca la configuración en el ConfigMap
fluentbit-config-custom
para asegurarse de que el DaemonSet de Fluentbit esté en buen estado.> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Reenviar registros a Elastic Search
- Inicie sesión en el plano de control de Supervisor como administrador de vCenter Single Sign-On.
> kubectl vsphere login --server=<supervisor-cluster-vip> -u [email protected] > kubectl config use-context <supervisor-cluster-vip>
- Actualice o agregue un resultado de Elastic Search en la sección outputs-custom.conf del ConfigMap fluentbit-config-custom, que reenviará todos los registros del sistema de la máquina virtual del plano de control al servidor de registro ES.
[OUTPUT] Name es Alias system_output_es Match system* Host <es-server-host> Port <es-server-port> Index supervisor Type controlplanevm
- Aplique los cambios al 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 -
Supervise el pod de Fluent Bit para aplicar automáticamente los cambios de configuración y consulte los registros de Supervisor en el servidor syslog.
> kubectl -n vmware-system-logging get pod > kubectl -n vmware-system-logging logs <fluentbit-pod-name>
Reenviar registros de auditoría de la API de Kubernetes a un servidor syslog
Siga los pasos para configurar el reenvío de registros de auditoría de la API de Kubernetes a un servidor syslog externo:
- Agregue kubectl-plugin-vsphere y authproxy en el ConfigMap 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
- Agregue el filtro kubectl-plugin-vsphere y authproxy al 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
- Agregue los resultados de kubectl-plugin-vsphere al servidor syslog al 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
- Incluya los archivos anteriores en el ConfigMap fluentbit-config, en el espacio de nombres 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