Rediriger les logs d’ESX/ESXi vers un serveur syslog – MAJ

MAJ 16/10/2011 : php-syslog-ng (aka logzilla) étant devenu payant, nous vous recommandons maintenant rsyslog + loganalyzer

Thomas Ackerson de mainesysadmin.com à posté sur son blog un article pour configurer le syslog d’ESX et permettre de regrouper les logs de tous vos ESX vers un serveur syslog.

C’est evidement la meme méthode que pour un syslog standard puisque la COS d’ESX est une RHEL 3 :

  • vi /etc/syslog.conf
  • *.*    @syslog.domaine.com à ajouter à la fin du fichier
  • esxcfg-firewall -o 514,udp,out,syslog pour ouvrir le firewall
  • esxcfg-firewall -l pour relancer le firewall
  • service syslog restart pour relancer le service syslog

Pour ESXi c’est encore plus simple, il suffit d’aller dans les Advanced Settings du serveur (ou d’utiliser la commande powershell Set-VMHostSysLogServer du VI Toolkit) :

Avec syslog-ng et php-syslog-ng, on obtient un outil indispensable :

Tags: , ,

48 Responses to “Rediriger les logs d’ESX/ESXi vers un serveur syslog – MAJ”

  1. Comme dit, un outil indispensable pour administrer et suivre une batterie ESX/ESXi serveurs. A mes favoris… -:)

  2. Et surtout, j’ai remarqué que générallement lorsque le service aam ou vpx ne répond pas, le service syslog continue à envoyer les logs. parfait pour le troubleshooting :)

  3. Bonjour,
    Je me permet de ressortir ce sujet car j’aimerais savoir comment rediriger les logs de mon serveur ESXi vers un serveur de log installé sur une des machines virtuelles hébergés dans ESXi lui-même.
    Merci d’avance.

  4. En fait le problème est plus simple que ça.
    La question pourrait se résumer à :
    Comment pinger l’IP d’une machine hebergée dans un serveur ESXi depuis la console du serveur ESXi ?
    Ou alors :
    Comment router de ESXi vers une machine hébergée dans ESXi ?

  5. Soit votre VM est dans le même subnet que votre ESXi donc se passera au niveau du vswitch (si VM et vmk sur le même vswitch), soit le traffic de votre VM sera routé à l’extérieur de votre ESXi par votre réseau et acheminé jusqu’à l’ip de management de l’ESXi.

  6. Bonjour, je n’ai pas bien compris votre réponse. Je n’ai peut-être pas été assez clair.
    Alors comme un dessin vaut mieux qu’un long discours, voici le shéma actuel du réseau (je ne sais pas si on peut intégrer des images dans un post alors je mets un lien):
    http://www.imagup.com/pics/1285701320.html
    [URL=http://www.imagup.com/pics/1285701320.html][IMG]http://ups.imagup.com/ano1/1285701320.jpg[/IMG][/URL]

    Donc le but est d’acheminer du trafic depuis ESXi vers ALASKA.
    Merci

  7. il faut que sur la VM NOMANSLAND tu autorise le trafic entre 192.168.2.100 vers 192.168.3.4 et évidement que ca route entre les 2

  8. Comment sais-tu que le trafic syslog viendra de Managment Network 0 et non de Managment Network 1 ?
    Merci

  9. j’avais pas vu, c’est quoi la default getaway de ton ESXi ?

  10. Bonne question ! Tu connais la commande pour avoir cette info via ssh ? Je n’ai pas d’accès physique au serveur.

  11. esxcfg-route -l

  12. esxcfg-route : Command not found
    esxcfg : Command not found

  13. vmware -v
    ou
    uname -a

  14. VMware ESXi 4.0.0 build-208167

  15. Alors désolé, je ne sais pas ce qui s’est passé, je me suis reloggé en ssh et la commande fonctionne.
    Alors :

    esxcfg-route
    VMkernel default gateway is 192.168.1.254

  16. esxcfg-route -l
    VMkernel Routes:
    Network Netmask Gateway
    192.168.1.0 255.255.255.0 Local Subnet
    192.168.2.0 255.255.255.0 Local Subnet
    default 0.0.0.0 192.168.1.254

  17. Ce serait donc 192.168.1.100 mais fait l’essai avec l’autre au cas où…

  18. Alors j’ai autorisé le trafic de Network Managment 0 vers Alaska et de Network Managment Network 1 vers Alaska mais ca n’a pas l’air de passer.
    Tu as une autre idée ?

  19. Il faut que ca route aussi. T’as configuré ton firewall pour ca ?

  20. Oui, je suis sûr que les règles que j’ai créées sont sensées fonctionner.
    Mon besoin de récupérer les logs ESXi n’est pas primordial donc si tu n’as pas d’idée à me proposer, ce n’est pas grave, je me repencherai sur la question un autre jour.

  21. Je te parles pas des regles de firewall mais de la table de routage, on est d’accord ? C’est quoi cette VM ?

  22. Je n’ai jamais modifié manuellement la table de routage. Elle s’est alimentée automatiquement en fonction de la config des interfaces réseau.
    La politique de filtrage par défaut est de tout bloquer dans n’importe quel sens que ce soit. Puis, en fonction des besoins, je rajoute des règles pour autoriser du trafic en entrée ou en sortie.
    Les 24 règles de NAT et la cinquantaine de règles de filtrage fonctionnent parfaitement. Aucune bidouille !
    La VM est une FreeBSD avec PFSense.

  23. Je viens de capter sur ton schéma, c’est sur l’esxi que tu dois ajouter une route pour acceder à 192.168.3.4 via 192.168.1.2

  24. Ca m’à l’air pas mal !
    Par contre je flippe un peu, j’ai peur de perdre la main sur le parc… Le serveur se trouve à 300Km de chez moi et il est en production dans une entreprise… J’ai pas intérêt à faire une connerie…

  25. Pour info, voici la table de routage de la VM qui fait office de firewall :
    Destination Gateway Netif
    default 192.168.1.254 le1
    localhost localhost lo0
    192.168.1.0 link#2 le1
    192.168.2.0 link#1 le0
    192.168.3.0 link#3 le2

  26. Fait une test sur une maquette avant !

  27. hmmm… mais je n’ai pas de maquette sous la main… et franchement pas vraiment le courage de monter un serveur ESXi, lui-même virtualisé dans un VMWare Player/Workstation/Server

  28. En tout cas, je te remercie vraiment de m’avoir consacré du temps !

  29. De rien ;)
    Si tes VM sont en stockage local ou SAN, au pire tu perdra la main sur le ssh mais c’est tout vu que le reste c’est du bridge. Et tu pourras tjs passer par ton pfsense pour t’y reconnecter !

  30. C’est vrai mais comme il n’y as pas d’urgence, j’attendrai la veille de me rendre à Paris pour faire la manip. J’ai vraiment pas envie de mettre tout le monde dans la mouise juste parce que je “m’amuse” avec un serveur syslog (et Php-Syslog-NG au passage).
    Merci encore.

  31. Dommage :D
    Tiens nous au parf !

  32. T’inquiet’, tu seras au courant dès que ca fonctionnera :)
    Par contre j’ai quand même un doute sur ta solution car je viens d’ajouter une règle à mon firewall pour autoriser le trafic venant de 192.168.1.100 en direction de 192.168.1.2. Et le ping ne passe pas.
    Là il me semble qu’on est d’accord sur le fait qu’il n’y a pas de route à ajouter où que ce soit pour un tel trafic ?

  33. Pas de route puisque ton trafic reste au sein du meme subnet, t’as bien autorisé l’icmp sur l’ip du firewall ?

  34. oui, j’ai autorisé tous les protocoles.

  35. Essaie la commande vmkping pour voir

  36. Aucune réponse…

  37. J’ai l’impression que le firewall intégré à ESXi bloque tout trafic entre les VM et les Network Managment.
    Le ping d’un VM Managment à l’autre fonctionne.

  38. Non non ya pas de firewall dans esxi.

  39. Vraiment étrange quand même… le ping fonctionne aussi vers une IP publique

  40. et depuis pfsense tu peux pinger les ip vmk0 et vmk1 ?

  41. De plus en plus incompréhensible…

    Depuis pfsense :
    je ping 192.168.1.100(vmk1)
    je ping 192.168.2.100 (vmk0)

    Depuis 192.168.1.100 :
    je ping 192.168.2.100 (vmk0)
    je ne ping pas 192.168.1.2
    je ne ping pas 192.168.3.254
    je ping 192.168.2.254 alors qu’aucune règle de pare-feu ne m’y autorise…

    Depuis 192.168.2.100 :
    je ping 192.168.1.100 (vmk1)
    je ne ping pas 192.168.1.2
    je ne ping pas 192.168.3.254
    je ping 192.168.2.254 alors qu’aucune règle de pare-feu ne m’y autorise…

    Ca devient difficile…

  42. Etant donné qu’une communication a lieu entre les vmk et 192.168.2.254, sous ESXi, j’ai déclaré le serveur syslog sur 192.168.2.254. Puis, sur pfsense, j’ai créé une règle NAT pour rediriger le trafic syslog (udp 514) vers alaska. Pour l’instant, je ne constate pas de nouvelle entrée dans mon serveur syslog. Je ne sais pas trop ce que ESXi log. J’ai redémarré le service ntp sur ESXi car sur une ditrib linux, je sais que cela génère des logs. Mais pour l’instant, les dernières lignes de log générées en local par ESXi datent de 2 jours. Je vais donc attendre de voir si alaska reçoit des logs.

  43. Ca fonctionne.
    Le serveur syslog a reçu des données de la part de 192.168.2.100 (vmk0).
    Par contre j’aimerais bien comprendre pourquoi la communication depuis ESXi ne peut se faire que sur 192.168.2.254 et pourquoi cette IP répond aux pings alors qu’aucune règle de filtrage du firewall n’autorise ceci.

  44. j’avoue que ta config routage/firewall me dépasse là :D

  45. Je comprend que tu puisse avoir du mal à cerner l’ensemble de ma config étant donné que tu n’y a pas accès. En tout cas tu m’as bien aidé. Merci.

  46. J’ai bien cerné le fonctionnement mais je vois surtout que ca ne se comporte pas comme prévu :)

  47. Oui, je vais continuer à essayer de comprendre le pourquoi du comment…

  48. [...] l’argumentaire En l’occurrence, notre recherche de solution de gestion de logs pour ESXi remonte à bien avant Graylog2 avec le fameux php-syslog-ng (devenu le très payant LogZilla), puis LogAnalyzer. Ensuite il y a eu [...]

Leave a Reply