Al utilizar la configuración de Syslog correcta, puede lograr una supervisión proactiva del entorno, reducir el tiempo de inactividad y tomar medidas preventivas en los servidores.

Al configurar syslog, debe tener en cuenta varios parámetros que afectan a la retención de archivos de registro, la transmisión de syslog, la longitud de la transmisión, el control de errores y la configuración de certificados SSL para la transmisión segura de mensajes de syslog. A continuación se muestran recomendaciones para ajustar los parámetros de syslog. Puede ver una descripción de todos los parámetros disponibles en Opciones de Syslog de ESXi.

Cómo especificar la retención de archivos de registro

De forma predeterminada, los archivos de registro no pueden expandirse más allá de un tamaño configurado. Una vez que un archivo de registro alcanza el tamaño configurado, el registro se enruta a un nuevo archivo de registro y se elimina el archivo de registro más antiguo.
Nota: La práctica recomendada es equilibrar los ajustes de rotación y tamaño. Aumentar el ajuste de rotación garantiza que los archivos syslog se generen con la frecuencia suficiente para evitar daños o destrucción potenciales en los otros archivos de registro. Aumentar el ajuste de tamaño reduce el tiempo necesario para cambiar a otro archivo de registro. El ajuste de tamaño óptimo es un múltiplo de 1024 KiB.
Utilice el ajuste Syslog.global.defaultSize para especificar el tamaño máximo del archivo de registro en KiB y Syslog.global.defaultRotate para establecer el número máximo de archivos de registro antiguos que se deben conservar antes de rotar a un nuevo archivo de registro. Para cambiar los parámetros de retención de archivos de registro asociados a un programa específico, utilice Syslog.loggers.<progName>.rotate y Syslog.loggers.<progName>.size settings, donde <progName> es el nombre del programa cuyos parámetros desea ajustar.

Administrar la configuración que afecta al archivo de registro de la máquina virtual

Puede configurar algunas opciones que afectan al archivo de registro de la máquina virtual (vmware.log) en el archivo vmx o en el archivo /etc/vmware/config. Debe apagar una máquina virtual para editar el archivo vmx y las ediciones solo surtirán efecto en esa máquina virtual. Si utiliza el archivo /etc/vmware/config, debe agregar el prefijo "vmx" a la configuración, por ejemplo vmx.log.keepOld = "20", y las modificaciones afectan a todas las máquinas virtuales del host ESXi.

Tabla 1. Opciones configurables para el archivo vmware.log
Parámetro Descripción Ejemplo Notas
logging

Deshabilita el registro de todas las máquinas virtuales.

El valor predeterminado es logging = "TRUE".

Para deshabilitar el registro de máquinas virtuales:

logging = "FALSE"

No utilice esta configuración, ya que, al deshabilitar el registro de máquinas virtuales, resulta extremadamente difícil o imposible obtener soporte para los problemas de la máquina virtual. Si necesita utilizar esta opción por algún motivo, solo puede colocarla en el archivo vmx de una máquina virtual.
log.throttleBytesPerSec

Controla cuándo se regula un archivo de registro. La regulación de archivos de registro se produce cuando las escrituras en el archivo vmware.log superan la velocidad especificada durante una cantidad significativa de tiempo. Esto ocurre cuando el código dentro del proceso VMX, el cual controla una máquina virtual, crea demasiados mensajes de registro. El valor predeterminado para esta opción es 1 KB/s.

En el caso de que se regule el registro, verá <<< Log Throttled >>> en el archivo vmware.log.

log.throttleBytesPerSec = "1500"

Para deshabilitar la regulación del registro, utilice

log.throttleBytesPerSec = "0xFFFFFFFF"

La regulación del archivo de registro puede ocultar la información necesaria para diagnosticar problemas con la máquina virtual afectada. Si necesita deshabilitar la regulación de registros, coloque la línea del ejemplo en el archivo vmx de la máquina virtual afectada. Elimine la línea una vez que finalice la sesión de depuración.
log.keepOld

Controla el número de archivos vmware.log antiguos que se conservarán.

log.keepOld = "20" No coloque el valor de esta opción por debajo del valor predeterminado (10). Si las máquinas virtuales se modifican o mueven con frecuencia, considere la posibilidad de aumentar esta opción a 20 o más.
log.rotateSize

Controla el tamaño máximo de un archivo vmware.log en bytes.

log.rotateSize = "2500000"

Para deshabilitar la limitación del tamaño máximo de un archivo vmware.log, utilice

log.rotateSize = "0"

Un valor de esta opción inferior a 100.000 puede provocar la pérdida de mensajes de registro críticos y afectar al rendimiento de la máquina virtual. En ESXi 7.x y versiones anteriores, el valor predeterminado de esta opción no establece ningún límite en el tamaño de un archivo vmware.log. En ESXi 8.x y versiones posteriores, el valor predeterminado de esta opción es 2.048.000.
log.fileName

Controla el nombre y la ubicación de los archivos de registro de la máquina virtual.

log.fileName = "myVMLog"

Esta opción cambia el nombre de los archivos de registro de la máquina virtual de vmware.log a myVMlog.

log.fileName = "/vmfs/volumes/vol1/myVM/myVM.log"

Esta opción dirige los archivos de registro de la máquina virtual a un directorio de un volumen de VMFS diferente (vol1) al utilizar myVM para un nombre de archivo.

No coloque un archivo de registro fuera del directorio de la máquina virtual para asegurarse de que la recopilación de paquetes de soporte del host seleccione el archivo de registro, el cual puede ser determinante a la hora de depurar los problemas de la máquina virtual.
log.fileLevel

Controla el nivel mínimo en el que se escriben los mensajes en vmware.log. Cada mensaje de registro tiene un nivel asociado a él. Los niveles inferiores a la configuración especificada no se agregan a un archivo de registro de máquina virtual. Los niveles de registro de mensajes de la máquina virtual (desde el más restringido al menos restringido) son:

  • error
  • advertencia
  • notice
  • info (valor predeterminado)
  • registro detallado
  • depuración
  • depuración1
  • depuración2
  • depuración3
  • depuración4
  • depuración5
  • depuración6
  • depuración7
  • depuración8
  • depuración9
  • depuración10
log.fileLevel = "debug1"

No establezca el nivel en un nivel más restrictivo que "info" para evitar que se filtren los mensajes necesarios para depurar los problemas de la máquina virtual. Baje el nivel por debajo de "info" solo cuando lo solicite el soporte con licencia. Restaure el ajuste a "info" una vez que finalice la depuración.

log.filter.minLogLevel.<groupName>

Controla la salida de los mensajes de depuración especializados.

log.filter.minLogLevel.disklib = "debug5" Utilice esta opción solo cuando lo solicite el equipo de soporte con licencia, el cual debe proporcionar uno o varios parámetros <groupName>. Elimine el ajuste una vez que finalice la depuración.
log.sysogID

Permite el envío de mensajes de registro de máquina virtual al registrador del sistema de un host ESXi, como Syslog.

log.syslogID = "vmx"

Utilice "vmx" como valor para esta opción y permitir que el daemon de syslog de ESXi, vmsyslogd, envíe estos mensajes a un archivo de registro independiente.

log.syslogLevel

Controla el nivel mínimo en el cual se envían los mensajes al registrador del sistema de un host ESXi, como Syslog.

log.syslogLevel = "debug" Los niveles y el funcionamiento de esta opción son idénticos a los de la opción log.fileLevel.

Cómo especificar la transmisión de mensajes a hosts remotos

Opcionalmente, puede configurar ESXi para que envíe mensajes de syslog a uno o varios hosts remotos, denominados recopiladores de syslog, como VMware vRealize Log Insight (anteriormente vCenter Log Insight), para recopilar mensajes de syslog.
Nota: La práctica recomendada es configurar cada host ESXi para que envíe mensajes de syslog al menos a un recopilador de syslog. Esto ayuda a garantizar que los mensajes se conserven en caso de que se produzca un evento catastrófico del sistema y que pueda procesar mensajes de Syslog de diferentes maneras, como la categorización y el análisis en tiempo real (por ejemplo, por tipo, intervalo de tiempo o máquina), o archivar mensajes.

Utilice el ajuste de Syslog.global.logHost para definir las especificaciones del host remoto. Separe las especificaciones de varios hosts remotos con una coma (,). Después de configurar Syslog.global.logHost, los hosts ESXi abren y mantienen las conexiones con los recopiladores de syslog, y la transmisión de mensajes comienza inmediatamente. Cuando ESXi genera un mensaje de syslog, lo escribe en el archivo de registro adecuado en el host ESXi y también lo reenvía a todos los recopiladores de syslog configurados.

Además de los mensajes de syslog, también se pueden transmitir mensajes de auditoría a los recopiladores de syslog por motivos de seguridad. Los registros de auditoría realizan un seguimiento de la actividad relacionada con la seguridad en el host ESXi. Para obtener más información sobre los registros de auditoría, consulte Registros de auditoría.
Nota: Consulte con el equipo de respuesta de seguridad de su empresa si hay que establecer registros de auditoría y cómo hacerlo. Por lo general, las configuraciones certificadas requieren que se habiliten los registros de auditoría.

Lo que sigue es la sintaxis para especificaciones de host remoto de Syslog.global.logHost :

protocol://target[:port]
Parámetro Descripción Notas
protocol Especifica el protocolo de red. Los valores válidos son udp, tcp y ssl. El protocolo ssl especifica que la transmisión de mensajes de syslog está cifrada. Los protocolos tcp y udp no cifran la transmisión.
Nota: Si la captura de mensajes de syslog o de auditoría es crucial para el sistema, evite utilizar el protocolo udp porque la infraestructura de redes externa a ESXi puede descartar mensajes UDP.
target

Especifica el host remoto. Puede utilizar una dirección IPV4 o IPv6 o un nombre de host.

Cuando utilice una dirección IPV6, debe insertarla entre corchetes [xxx], donde xxx es la dirección IPV6.
port (Opcional) Especifica el puerto de host remoto que se utilizará. Si utiliza UDP o TCP. El puerto predeterminado es 1514. Si utiliza SSL. El puerto predeterminado es 514. Si decide utilizar puertos diferentes a 514 o 1514, debe ajustar el ESXi Firewall para abrir el puerto. Para obtener más información sobre cómo abrir el firewall de ESXi para el puerto definido en cada especificación de host remoto, consulte Configurar el firewall de ESXi.
Еjemplos de especificaciones de máquina remota:
Ejemplo de cadena syslog.global.logHost Notas
tcp://10.176.130.7:12345 Transmite mensajes de syslog a 10.176.130.7 mediante TCP/IP y el puerto 12345.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] Transmite mensajes de syslog a una dirección IPV6 mediante el puerto 1514.

tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348]:5432

Transmita mensajes de syslog a una dirección IPV6 mediante el puerto 54321.
udp://company.com Transmite mensajes de syslog a company.com mediante UDP y el puerto 514.

udp://company.com,tcp://10.20.30.40:1050

Transmite mensajes de syslog a dos hosts remotos. El primer host remoto utiliza UDP para comunicarse con company.com mediante el puerto 514. El segundo host remoto utiliza TCP para comunicarse con la dirección IPV4 10.20.30.40 mediante el puerto 1050.

ssl://company.com

Transmite mensajes de syslog a company.com mediante SSL (TLS) y el puerto 514.

Longitud máxima de transmisión de mensajes

Si utiliza UDP, la longitud máxima de transmisión de mensajes de syslog es de 480 bytes para IPV4 y de 1180 bytes para IPV6.

Para TCP o SSL, la longitud máxima predeterminada de transmisión de mensajes de syslog es de 1 kibibyte (KiB). Puede aumentar esta longitud con el parámetro Syslog.global.remoteHost.maxMsgLen. El valor máximo es 16 KiB. Los mensajes de más de 16 KiB se truncan.
Nota: Si es necesario aumentar la longitud máxima de transmisión, la práctica recomendada es aumentar la longitud solo lo específicamente necesario.
Aumentar la longitud máxima de los mensajes de syslog puede causar problemas si la infraestructura de redes y syslog externa a ESXi no puede controlar mensajes de más de 1 KiB.
Nota: La práctica recomendada es no utilizar UDP para transmitir mensajes de syslog debido a las restricciones de longitud de paquetes y a la posibilidad de que la infraestructura de redes externas descarte los mensajes.

Consideraciones para los certificados al configurar transmisiones SSL a hosts remotos

Al configurar ESXi para transmitir mensajes de syslog a hosts remotos con SSL, debe agregar un certificado SSL para cada host remoto al almacén de CA de host ESXi. Para obtener más información, consulte Administrar certificados para hosts ESXi y Administrar certificados de CA con ESXCLI.
Nota: Consulte la documentación de Syslog Collector sobre cómo configurar el recopilador para la recepción segura de mensajes de syslog mediante SSL y una clave privada.

Parámetros adicionales de transmisión de SSL

Un sistema ESXi que cumpla con los requisitos de certificación de seguridad puede requerir la habilitación de comprobaciones de X509 CRL. Para activar la configuración avanzada de Syslog.global.certificate.strictX509Compliance y Syslog.global.certificate.checkCRL, cambie el valor predeterminado de false a true. Debido a las limitaciones de implementación, si se habilitan las comprobaciones de CRL mediante la opción Syslog.global.certificate.checkSSLCerts, todos los certificados de una cadena de certificados deben proporcionar un vínculo de CRL. De forma predeterminada, la opción está habilitada. Puede desactivar las comprobaciones de certificados SSL si cambia el valor a false, pero esta no es una práctica recomendada. Es posible que deba desactivar las comprobaciones de certificados SSL al solucionar problemas de comunicación con un host remoto, pero solo durante un tiempo limitado.

Dónde encontrar la información del estado y el error del daemon de syslog

El daemon de syslog de ESXi utiliza el archivo de registro /var/run/log/vmsyslogd.log para almacenar información sobre el estado y los errores, incluidos los mensajes descartados. Si la transmisión de registros de auditoría está habilitada, el daemon de syslog también emite registros de auditoría relacionados con su funcionamiento, como las condiciones de inicio, detención y error del daemon, lo que le permite comprobar que el daemon de syslog se ejecute correctamente.

Cómo cambiar el área predeterminada de almacenamiento de archivos de registro de syslog

El área predeterminada de almacenamiento de archivos de registro de syslog es /var/run/log, local para cada host ESXi. Utilice la variable de configuración de syslog Syslog.global.logDir para cambiar el área predeterminada de almacenamiento de archivos de registro de syslog, siempre y cuando la ubicación resida en el almacenamiento persistente. Si Syslog.global.logDir se configura en un almacén persistente compartido por varios hosts ESXi para almacenar los archivos de registro de syslog, cambie el valor de Syslog.global.logDirUnique a true para que no se mezclen los registros. La opción Syslog.global.logDirUnique garantiza que cada máquina ESXi obtenga un nombre único que se agrega a la ruta Syslog.global.logDir, separando los archivos de registro de otros hosts.

Cola de mensajes de syslog para hosts remotos y descarte de mensajes

Una vez que se inician las emisiones de Syslog, nunca se detienen, excepto para reinicios y errores de ESXi, o una reconfiguración de Syslog para detenerse.

ESXi utiliza un mecanismo de cola al enviar mensajes de syslog a hosts remotos. Esto ayuda a evitar que se descarten mensajes si se encuentran y se resuelven problemas de conectividad de red. Sin embargo, si los problemas de conectividad duran más de lo que puede tolerar el mecanismo de cola, se descartan los mensajes de syslog. Puede ver las estadísticas sobre los descartes de mensajes en el archivo de registro del daemon de syslog.

Puede ver los mensajes descartados en /var/run/log/vmsyslogd-dropped.log. Este archivo de registro tiene ajustes de retención específicos, similares a los de los parámetros de retención específicos del programa. Los parámetros de retención de archivos de registro de mensajes descartados son: Syslog.global.droppedMsgs.fileRotate y Syslog.global.droppedMsgs.fileSize.