Script Shell dans une page php pour Nagios

Fermé
Hit62218 - Modifié par Hit62218 le 31/01/2011 à 15:02
 Pseudo - 17 mars 2011 à 12:13
Bonjour, actuellement en stage ,j'ai installer Nagios qui fonctionne parfaitement mais j'essaie d'intégrer un script shell que j'ai créer qui va servir dans une page PHP appelée dans l'interface de Nagios.
Mon problème est que je n'arrive pas a faire exécuter mon script via ma page....
Voici ma page Ajout.php :

<?php
if(isset($_POST['btCreer']))
{


$a=$_POST['nom'];
$b=$_POST['ip'];
$c=$_POST['parent'];
$d=$_POST['groupe'];
$e=$_POST['contact'];

exec("/usr/local/nagios/share/script.sh",$a,$b,$c,$d,$e);
echo'Machine Ajoutee
<META HTTP-EQUIV="refresh" CONTENT="2;URL=ajout.php">';

}
else {

echo'<form action="ajout.php" method="post">
Ajout d\' une nouvelle machine<br /><br /><br />';

echo'Nom de la machine: <input type="text" id="nom" name=nom">
<br /><br />
Adresse IP: <input type="text" id="ip" name="ip">
<br /><br />
Parent: <input type="text" id="parent" name="parent">
<br /><br />
Groupe: <input type="text" id="groupe" name="groupe">
<br /><br />
Contact: <input type="text" id="contact" name="contact">
<br /><br />
<input type="submit" value="Creer" id="btCreer" name="btCreer" onclick="return confirmjs();" />
</form>';
}
?>

et on script.sh :

#!/bin/bash

#if [ $# -ne 5 ] ;then

# echo "5 parametres attendu [NOM] [IP] [PARENT] [NOM GROUP] [CONTACT]"

#else

echo "
##########################

define host{
use generic-switch
host_name $a
alias HP 2810
address $b
statusmap_image hp.jpg
parents $c
hostgroups $d
contact_groups $e
}

define service{
use generic-service
host_name $a
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}

define service{
use generic-service
host_name $a
service_description Port 1 Link Status
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB
}" >> /usr/local/nagios/etc/objects/switch.cfg

echo "#$a,Port 1 Link Status" >> /usr/local/nagios/etc/objects/services.cfg


echo $1 "ajouter! ATTENTION NE PAS OUBLIER DE MODIFIER LE FICHIER SERVICES.CFG (/usr/local/nagios/etc/objects/services.cfg )"
/etc/init.d/nagios restart 1>/dev/null

#fi

Merci d'avance pour vos réponses.

A voir également:

2 réponses

Hit62218 Messages postés 1 Date d'inscription lundi 31 janvier 2011 Statut Membre Dernière intervention 1 février 2011 1
1 févr. 2011 à 09:37
J'ai réussi a régler mon problème... si quelqu'un est intéressé qu'il me le signale je lui fournirai la solution pour ajouté un switch rapidement en passant par l'interface de nagios.
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 420
1 févr. 2011 à 10:47
Salut,

Happy for you ;-))

Sans attendre que quelqu'un te le demande, tu pourrais très bien donner ta solution, sachant que ça servira sûrement à quelqu'un un jour...

Merci d'avance ;-))
0
Bonjour Hit62218 je suis aussi en stage et j'aurai besoin de faire ce fameux script a inserer dans nagios pour generer automatiquement des switch peut tu m'indiquer comment tu as proceder stp merci
0
À priori le problème viens du fait que dans son script bash il appelle des variables $a $b $c etc.
Ces variables ne sont pas définies dans le script, pour récupérer les arguments il faut utiliser respectivement $1 $2 $3 etc.
0