Je suis tombé sur un blog intéressant où le monitoring d’instances Xen par le biais de Cacti – SNMP est décrite. Le monitoring ne s’effectue pas directement dans l’instance virtuelle, par le biais d’un monitoring Linux courant, mais au niveau du serveur hôte.

Le premier script “xen_cloud_stats.pl” est à placer sur le serveur hôte et qui sera lancé à chaque requête SNMP par le biais d’une MIB étendue. En détail “xen_cloud_stats.pl” va faire appel à la commande xentop afin de monitorer le Dom0 et les DomU présents sur le serveur hôte Xen. Nous vous conseillons de placer ce script dans /usr/sbin/ et de ne le rendre exécutable uniquement par root.

Afin qu’il puisse s’éxécuter il vous faut ensuite modifier la configuration SNMP du serveur hôte et de rajouter cette ligne à la fin du fichier de configuration snmpd.conf. N’oublier pas de relancer SNMP.

extend xen-stats /usr/sbin/xen_cloud_stats.pl

Nous devons maintenant, configurer Cacti afin de pouvoir récupérer les informations par le biais de requêtes SNMP classiques. Si vous avez un serveur sous RHEL4 ou Centos4, il vous faudra récupérer le fichier /usr/share/snmp/mibs/NET-SNMP-EXTEND-MIB.txt d’un serveur sous RHEL5 ou Centos5 et le mettre dans le répertoire /usr/share/snmp/mibs/ de votre serveur actuel. net-snmp sous RHEL4 ou Centos4 ne supporte pas nativement la MIB EXTEND. Si vous effectuer cette opération, n’oubliez pas de relancer SNMP.

Il vous suffit ensuite d’importe les 3 fichiers restants dans Cacti afin de pouvoir mettre sous monitoring vos instances Xen. Les scripts ont été adaptés pour qu’ils tournent autant sous PHP4 que PHP5, de plus des petits bugs dans les scripts Cacti ont aussi été corrigé dans cette version.

Monitoring Xen via SNMP