2011-06-08 3 views
0

Pour surveiller un hôte et certains services avec Nagios, nous devons modifier le fichier texte avec quelque chose comme:Travailler avec PHP pour contrôler Nagios

define host{ 
use <template> 
host_name <name> 
alias <alias> 
address <IP> } 

define service{ 
use <template> 
host_name <name> 
service_description <desc> 
check_command <command> } 

J'ai une interface où je peux faire quelque chose comme ça avec PHP la langue. J'ai 2 fonctions addServiceNagios ($ hostname, $ service, $ commande) et addHostNagios ($ hostname, $ hostIP) où les informations sont placées dans le fichier. Maintenant j'ai un gros problème:

Les informations sont toujours placées quel que soit .. Si l'hôte existe déjà, ou si les services sont déjà assignés aux hôtes. Quelle est la meilleure approche pour vérifier si l'hôte est déjà défini? Et si les services sont associés? Et si je veux effacer les services associés à l'hôte? Merci d'avance.

+0

Avez-vous essayé d'utiliser l'éditeur de configuration NagiosQL PHP? – lik

Répondre

0

Je voudrais construire un analyseur qui analyse la syntaxe à partir du fichier afin de pouvoir afficher les mêmes données dans une structure de données plus accessible comme un tableau. En fonction de la taille des fichiers, la baie peut stocker des informations supplémentaires, telles que des décalages, etc. Cependant, il est plus facile, à côté de l'analyseur, d'écrire un dumper qui peut renvoyer cette structure de tableau dans un fichier. Donc, chaque fois que le fichier entier est réécrit mais avec les données réelles.

Vous pouvez ensuite effectuer des actions d'ajout et de suppression sur la structure de la baie en prenant soin de lire et d'écrire le fichier.

Vous avez donc séparé les problèmes les uns des autres.

Questions connexes