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
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.
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:
|
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. |
Para deshabilitar la regulación del registro, utilice
|
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. |
Para deshabilitar la limitación del tamaño máximo de un archivo vmware.log, utilice
|
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. |
Esta opción cambia el nombre de los archivos de registro de la máquina virtual de vmware.log a myVMlog.
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:
|
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
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.
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. |
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.
Consideraciones para los certificados al configurar transmisiones SSL a hosts remotos
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.