Xen et vserver : monitoring des VM sur une page PHP

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

J'ai eu recours à ce genre de script car il est plus simple d'ouvrir une petite page web pour voir l'activiter des VM plutôt que de lancer tout un tas de commandes.

2 Sudo

Il faut avoir besoin de sudo car apache par défaut n'a pas les droits nécessaire pour exécuter les commandes :

apt-get install sudo

Editez ensuite /etc/sudoers et rajoutez ceci : www-data ALL=NOPASSWD: /usr/sbin/vserver-stat,/usr/sbin/xm list

3 Php et script

Il faut évidement avoir apache et php d'installer pour que ceci fonctionne :

apt-get install apache2 php5

De plus, il y a un petit java script qui permet de rafraichir la page toutes les 60 secondes.

Ensuite créez par exemple un dossier et copiez ceci dans un index :

mkdir /var/www/virtual && vi /var/www/virtual/index.php

Voici le contenu de l'index.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script language="javascript" type="text/javascript">setTimeout("location.reload();",600000);</script>
<head>
 <meta content="text/html; charset=ISO-8859-1"
  http-equiv="content-type">
    <title>Informations for Virtual Machines</title>
    </head>
    <body>
<?php
       system("date +%c") ;
       echo("<BR><BR>--- Vservers informations ---<BR>") ;
       echo("<syntaxhighlight lang=text>\n") ;
       system("sudo /usr/sbin/vserver-stat") ;
       echo("</syntaxhighlight>\n") ;
       echo("<BR>") ;
       echo("--- Xen informations ---<BR>") ;
       echo("<syntaxhighlight lang=text>\n") ;
       system("sudo /usr/sbin/xm list") ;
       echo("</syntaxhighlight>") ;
?>
    </body>
</html>

On met ensuite les bons droits :

chown -Rf www-data. /var/www/virtual

Il ne reste plus qu'à y accéder :-)