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
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.
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 :
|
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. |
Pour désactiver la limitation des journaux, utilisez
|
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. |
Pour désactiver la limitation de la taille maximale d'un fichier vmware.log, utilisez
|
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. |
Ce paramètre modifie le nom des fichiers journaux de machine virtuelle de vmware.log en myVMlog.
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 :
|
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
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.
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. |
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.
Considérations relatives aux certificats lors de la configuration des transmissions SSL vers des hôtes distants
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.