En utilisant les paramètres Syslog appropriés, vous pouvez effectuer une surveillance proactive de votre environnement, réduire les interruptions de service et prendre des mesures préventives au niveau des serveurs.

Lors de la configuration de Syslog, vous devez tenir compte de plusieurs paramètres qui affectent la rétention du fichier journal, la transmission Syslog, la longueur de transmission, la gestion des erreurs et la configuration de certificats SSL pour la transmission sécurisée des messages Syslog. Voici quelques recommandations pour ajuster vos paramètres Syslog. Vous pouvez voir une description de tous les paramètres disponibles à l'adresse suivante : Options Syslog d'ESXi.

Spécification de la rétention des fichiers journaux

Par défaut, les fichiers journaux ne peuvent pas dépasser une taille configurée. Une fois qu'un fichier journal atteint la taille configurée, la journalisation est acheminée vers un nouveau fichier journal et le fichier journal le plus ancien est supprimé.
Note : La meilleure pratique consiste à équilibrer les paramètres de rotation et de taille. L'augmentation du paramètre de rotation garantit que les fichiers Syslog sont suffisamment souvent générés pour empêcher toute altération ou destruction potentielle des autres fichiers journaux. L'augmentation du paramètre de taille réduit le temps de basculement vers un autre fichier journal. Les paramètres de taille optimale sont un multiple de 1 024 Kio.
Utilisez le paramètre Syslog.global.defaultSize pour spécifier la taille maximale du fichier journal en Kio et Syslog.global.defaultRotate pour définir le nombre maximal d'anciens fichiers journaux à conserver avant la rotation vers un nouveau fichier journal. Pour modifier les paramètres de rétention des fichiers journaux associés à un programme spécifique, utilisez Syslog.loggers.<progName>.rotate et Syslog.loggers.<progName>.size settings, où <progName> correspond au nom du programme dont vous souhaitez ajuster les paramètres.

Gérer les paramètres qui affectent le fichier journal de la machine virtuelle

Vous pouvez configurer certains paramètres qui affectent le fichier journal de la machine virtuelle, vmware.log, dans le fichier vmx ou dans le fichier /etc/vmware/config. Vous devez mettre hors tension une machine virtuelle pour modifier le fichier vmx et les modifications prennent effet uniquement sur cette machine virtuelle. Si vous utilisez le fichier /etc/vmware/config, vous devez ajouter le préfixe « "vmx" » au paramètre (par exemple, vmx.log.keepOld = "20") et les modifications affectent toutes les machines virtuelles sur l'hôte ESXi.

Tableau 1. Paramètres configurables pour le fichier vmware.log
Paramètre Description Exemple Remarques
logging

Désactive toute la journalisation de machine virtuelle.

La valeur par défaut est logging = "TRUE".

Pour désactiver la journalisation de machine virtuelle :

logging = "FALSE"

N'utilisez pas ce paramètre, car la désactivation de la journalisation de machine virtuelle rend extrêmement difficile, voire impossible, d'obtenir de l'aide pour les problèmes de machine virtuelle. Si vous devez utiliser ce paramètre pour une raison quelconque, vous pouvez uniquement le placer dans le fichier vmx d'une machine virtuelle.
log.throttleBytesPerSec

Contrôle le moment où un fichier journal atteint sa limite. La limitation des fichiers journaux se produit lorsque les écritures sur le fichier vmware.log dépassent le taux spécifié pendant un laps de temps significatif. Cela se produit lorsque le code dans le processus VMX, qui contrôle une machine virtuelle, crée un nombre excessif de messages de journal. La valeur par défaut de ce paramètre est 1 Ko/s.

En cas de limitation des journaux, <<< Log Throttled >>> s'affiche dans le fichier vmware.log.

log.throttleBytesPerSec = "1500"

Pour désactiver la limitation des journaux, utilisez

log.throttleBytesPerSec = "0xFFFFFFFF"

La limitation du fichier journal peut masquer les informations nécessaires pour diagnostiquer les problèmes de la machine virtuelle affectée. Si vous devez désactiver la limitation des journaux, placez la ligne en exemple dans le fichier vmx de la machine virtuelle affectée. Supprimez la ligne à la fin de la session de débogage.
log.keepOld

Contrôle le nombre d'anciens fichiers vmware.log à conserver.

log.keepOld = "20" Ne placez pas la valeur de ce paramètre en dessous de la valeur par défaut (10). Si des machines virtuelles sont fréquemment modifiées ou déplacées, envisagez de porter ce paramètre à 20 ou plus.
log.rotateSize

Contrôle la taille maximale d'un fichier vmware.log en octets.

log.rotateSize = "2500000"

Pour désactiver la limitation de la taille maximale d'un fichier vmware.log, utilisez

log.rotateSize = "0"

Si la valeur de ce paramètre est inférieure à 100 000, cela peut entraîner une perte de messages de journaux critiques et affecter les performances de la machine virtuelle. Dans ESXi 7.x et versions antérieures, la valeur par défaut de ce paramètre n'impose aucune limite à la taille d'un fichier vmware.log. Dans ESXi 8.x et versions ultérieures, la valeur par défaut de ce paramètre est 2 048 000.
log.fileName

Contrôle le nom et l'emplacement des fichiers journaux de machine virtuelle.

log.fileName = "myVMLog"

Ce paramètre modifie le nom des fichiers journaux de machine virtuelle de vmware.log en myVMlog.

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

Ce paramètre dirige les fichiers journaux de la machine virtuelle vers un répertoire sur un volume VMFS différent (vol1) en utilisant myVM pour uncomme nom de fichier.

Ne placez pas un fichier journal en dehors du répertoire de machine virtuelle afin de vous assurer que la collecte des bundles de support d'hôte récupère le fichier journal, ce qui peut être primordial pour déboguer des problèmes de machine virtuelle.
log.fileLevel

Contrôle le niveau minimal d'écriture des messages pour vmware.log. Un niveau est associé à chaque message de journal. Les niveaux inférieurs au paramètre spécifié ne sont pas ajoutés au fichier journal de machine virtuelle. Les niveaux de journalisation des messages de machine virtuelle (du plus au moins restreint) sont les suivants :

  • erreur
  • avertissement
  • notice
  • info (par défaut)
  • trivia
  • débogage
  • débogage1
  • débogage2
  • débogage3
  • débogage4
  • débogage5
  • déboguer6
  • débogage7
  • débogage8
  • déboguer9
  • débogage10
log.fileLevel = "debug1"

Ne définissez pas le niveau sur un niveau plus restrictif que « info » pour éviter d'exclure les messages nécessaires au débogage des problèmes de machine virtuelle. Abaissez le niveau en dessous de « info » uniquement à la demande d'une équipe de support agréée. Restaurez le paramètre sur « info » après la fin du débogage.

log.filter.minLogLevel.<groupName>

Contrôle la sortie des messages de débogage spécialisés.

log.filter.minLogLevel.disklib = "debug5" Utilisez ce paramètre uniquement à la demande d'une équipe de support agréée, qui doit fournir un ou plusieurs paramètres <groupName>. Supprimez le paramètre après la fin du débogage.
log.sysogID

Active l'envoi de messages de journal de machine virtuelle à la journalisation système d'un hôte ESXi, tel que Syslog.

log.syslogID = "vmx"

Utilisez "vmx" comme valeur pour ce paramètre afin de permettre au démon Syslog ESXi (vmsyslogd) d'envoyer ces messages à un fichier journal distinct.

log.syslogLevel

Contrôle le niveau minimal auquel les messages sont envoyés à la journalisation système d'un hôte ESXi, tel que Syslog.

log.syslogLevel = "debug" Les niveaux et le fonctionnement de ce paramètre sont identiques à ceux du paramètre log.fileLevel.

Spécification de la transmission de messages à des hôtes distants

Vous pouvez éventuellement configurer ESXi pour envoyer des messages Syslog à un ou plusieurs hôtes distants, appelés collecteurs Syslog, tels que VMware vRealize Log Insight (anciennement vCenter Log Insight), afin de collecter des messages Syslog.
Note : Il est recommandé de configurer chaque hôte ESXi pour envoyer des messages Syslog à au moins un collecteur Syslog. Cela permet de s'assurer que les messages sont conservés en cas d'événement système catastrophique et que vous pouvez traiter les messages Syslog de différentes manières, telles que la catégorisation et l'analyse en temps réel (par type, période ou machine), ou archiver les messages.

Utilisez le paramètre Syslog.global.logHost pour définir les spécifications d'hôte distant. Séparez plusieurs spécifications d'hôte distant par une virgule (,). Après avoir défini Syslog.global.logHost, les hôtes ESXi ouvrent et maintiennent les connexions aux collecteurs Syslog et la transmission des messages commence immédiatement. Lorsqu'ESXi génère un message Syslog, il l'écrit dans le fichier journal approprié sur l'hôte ESXi et le transfère également à tous les collecteurs Syslog configurés.

Outre les messages Syslog, les messages d'audit peuvent également être transmis aux collecteurs Syslog pour des raisons de sécurité. Les enregistrements d'audit permettent de suivre l'activité liée à la sécurité sur l'hôte ESXi. Pour plus d'informations sur les enregistrements d'audit, reportez-vous à la section Enregistrements d'audit.
Note : Consultez l'équipe d'intervention de sécurité de votre entreprise pour savoir si vous devez définir des enregistrements d'audit et connaître la procédure. Les configurations certifiées nécessitent généralement que les enregistrements d'audit soient activés.

Voici la syntaxe pour les spécifications d'hôte distant Syslog.global.logHost  :

protocol://target[:port]
Paramètre Description Remarques
protocol Spécifie le protocole de mise en réseau. Les valeurs valides sont udp, tcp et ssl. Le protocole ssl spécifie que la transmission des messages Syslog est chiffrée. Les protocoles tcp et udp ne chiffrent pas la transmission.
Note : Si la capture de messages Syslog ou de messages d'audit est essentielle pour votre système, il est recommandé de ne pas utiliser le protocole udp, car l'infrastructure de mise en réseau externe à ESXi peut abandonner des messages UDP.
target

Spécifie l'hôte distant. Vous pouvez utiliser une adresse IPV4 ou IPV6 ou un nom d'hôte.

Lorsque vous utilisez une adresse IPV6, vous devez l'intégrer entre crochets [xxx], où xxx correspond à l'adresse IPV6.
port (Facultatif) Spécifie le port d'hôte distant à utiliser. Si vous utilisez UDP ou TCP, le port par défaut est 1514. Si vous utilisez SSL, le port par défaut est 514. Si vous choisissez d'utiliser des ports différents de 514 ou 1514, vous devez ajuster le pare-feu ESXi pour ouvrir le port correspondant. Pour plus d'informations sur l'ouverture du pare-feu ESXi pour le port spécifié dans chaque spécification d'hôte distant, reportez-vous à la section Configuration du pare-feu ESXi.
Exemples de spécifications de machine distante :
Exemple de chaîne Syslog.global.logHost Remarques
tcp://10.176.130.7:12345 Transmet des messages Syslog à l'adresse 10.176.130.7 en utilisant TCP/IP et le port 12345.
tcp://[2001:db8:85a3:8d3:1319:8a2e:370:7348] Transmet des messages Syslog à une adresse IPV6 en utilisant le port 1514.

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

Transmet des messages Syslog à une adresse IPV6 en utilisant le port 54321.
udp://company.com Transmet des messages Syslog à l'adresse company.com en utilisant UDP et le port 514.

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

Transmet des messages Syslog à deux hôtes distants. Le premier hôte distant utilise UDP pour communiquer avec company.com en utilisant le port 514. Le deuxième hôte distant utilise TCP pour communiquer avec l'adresse IPV4 10.20.30.40 en utilisant le port 1050.

ssl://company.com

Transmet des messages Syslog à company.com en utilisant SSL (TLS) et le port 514.

Longueur maximale de transmission des messages

Si vous utilisez UDP, la longueur maximale de transmission des messages Syslog est de 480 octets pour IPV4 et de 1 180 octets pour IPV6.

Pour TCP ou SSL, la longueur maximale de transmission des messages Syslog par défaut est de 1 kibioctet (Kio). Vous pouvez augmenter cette longueur en utilisant le paramètre Syslog.global.remoteHost.maxMsgLen. La valeur maximale est de 16 Kio. Les messages de plus de 16 Kio sont tronqués.
Note : Si l'augmentation de la longueur maximale de transmission est nécessaire, il est recommandé d'augmenter la longueur uniquement de la quantité spécifiquement nécessaire.
L'augmentation de la longueur maximale des messages Syslog peut entraîner des problèmes si la mise en réseau et l'infrastructure Syslog externe à ESXi ne parviennent pas à traiter les messages de plus de 1 Kio.
Note : Il est recommandé de ne pas utiliser UDP pour transmettre les messages Syslog en raison des contraintes de longueur de paquet et de la possibilité que l'infrastructure de mise en réseau externe abandonne les messages.

Considérations relatives aux certificats lors de la configuration des transmissions SSL vers des hôtes distants

Lorsque vous configurez ESXi pour transmettre des messages Syslog vers des hôtes distants en utilisant SSL, vous devez ajouter un certificat SSL pour chaque hôte distant dans le magasin d'autorité de certification de l'hôte ESXi. Pour plus d'informations, reportez-vous aux sections Gestion des certificats pour les hôtes ESXi et Gérer des certificats d'autorité de certification avec ESXCLI.
Note : Consultez la documentation de votre collecteur Syslog pour savoir comment configurer ce dernier pour la réception sécurisée des messages Syslog en utilisant SSL et une clé privée.

Paramètres de transmission SSL supplémentaires

Un système ESXi conforme aux exigences de certification de sécurité peut nécessiter l'activation des vérifications de la liste de révocation de certificats (CRL) X509. Activez les paramètres avancés Syslog.global.certificate.strictX509Compliance et Syslog.global.certificate.checkCRL en définissant la valeur par défaut de false sur true. En raison des limitations de mise en œuvre, si vous activez les vérifications de la liste de révocation de certificats (CRL) en utilisant le paramètre Syslog.global.certificate.checkSSLCerts, tous les certificats d'une chaîne de certificats doivent fournir un lien CRL. Par défaut, le paramètre est activé. Vous pouvez désactiver les vérifications de certificat SSL en modifiant le paramètre false, mais cela n'est pas recommandé. Vous devrez peut-être désactiver les vérifications de certificat SSL lors du dépannage des communications avec un hôte distant, mais uniquement pendant une durée limitée.

Emplacement des informations d'erreur et d'état du démon Syslog

Le démon Syslog ESXi utilise le fichier journal /var/run/log/vmsyslogd.log pour stocker les informations d'état et d'erreur, y compris les messages abandonnés. Si la transmission des enregistrements d'audit est activée, le démon Syslog émet également des enregistrements d'audit liés à son fonctionnement (tels que les conditions de démarrage, d'arrêt et d'erreur du démon), ce qui vous permet de vérifier que le démon Syslog s'exécute correctement.

Modification de la zone de stockage de fichier journal Syslog par défaut

La zone de stockage de fichier journal Syslog par défaut est /var/run/log, en local pour chaque hôte ESXi. Utilisez la variable de configuration Syslog Syslog.global.logDir pour modifier la zone de stockage de fichier journal Syslog par défaut, tant que l'emplacement réside sur un stockage persistant. Si Syslog.global.logDir est configuré sur un magasin persistant partagé par plusieurs hôtes ESXi pour stocker leurs fichiers journaux Syslog, modifiez le paramètre Syslog.global.logDirUnique sur true pour empêcher le mélange des journaux. Le paramètre Syslog.global.logDirUnique permet de s'assurer que chaque machine ESXi obtient un nom unique ajouté au chemin d'accès Syslog.global.logDir, afin de séparer les fichiers journaux des autres hôtes.

Mise en file d'attente des messages Syslog pour les hôtes distants et abandons de messages

Une fois les émissions Syslog démarrées, elles ne s'arrêtent jamais, sauf en cas de redémarrages et d'échecs ESXi ou d'une reconfiguration Syslog à arrêter.

ESXi utilise un mécanisme de file d'attente basé sur la mémoire avec une capacité limitée pour transmettre des messages Syslog et des enregistrements d'audit aux hôtes distants. Ce mécanisme permet au service vmsyslogd de gérer de courtes rafales de messages ou des problèmes de connectivité réseau qui se résolvent rapidement sans avoir à abandonner les données.

Lorsque les problèmes de connectivité durent plus longtemps ou que le flux de données entrantes dépasse continuellement la limite que le mécanisme de mise en file d'attente peut tolérer, le service vmsyslogd abandonne certains messages Syslog.

Pour réduire ces abandons, placez les fichiers journaux vmsyslogd sur le stockage le plus rapide disponible et configurez les collecteurs Syslog sur un réseau avec une bande passante de bout en bout égale ou supérieure à 1 GigE.

Si vous voyez un nombre excessif de journaux d'une application, effectuez une demande de service de support à des fins d'analyse et de correction.

Vous pouvez voir des statistiques sur les abandons de messages dans le fichier journal du démon Syslog.

Vous pouvez voir les messages abandonnés dans le fichier /var/run/log/vmsyslogd-dropped.log. Ce fichier journal a des paramètres de rétention spécifiques, semblables à ceux des paramètres de rétention propres au programme. Les paramètres de rétention du fichier journal des messages abandonnés sont les suivants : Syslog.global.droppedMsgs.fileRotate et Syslog.global.droppedMsgs.fileSize.