Surveillance des démons, et alerte si un démon KO

Bonjour,

vu que jeelink va disparaitre et qu’il ne met pas à jours les commande lors de l’ajout de plugin, je cherche une solution simple voir petit code dans scénario qui checke les démons et qu’il m’informe uniquement le démon KO.

je me fiche des démons qui tourne et ce qui m’intéresse ce sont les démons KO. Pas de message si pas de démon ko.

j’ai lu pleins de sujet sur le Community mais ils font pas comme je le souhaite.

si vous avez un petit code sous le coude.

merci :slight_smile:

Bonjour,

Voici un bloc code a adapter selon vos besoins
Il liste à la fois les démons OK et les NOK

foreach (plugin::listPlugin(true) as $plugin) {
	if ($plugin->getHasDependency() == 1) {
		if ($plugin->dependancy_info()['state'] == 'ok') {
			//$message_dependancy .= $plugin->getName() . ' (' . $plugin->getId() . ') : ' . $liste_icones[0] . "\n";// Icone OK
            $message_dependancy .= $plugin->getName() . ' : ' . $liste_icones[0] . "\n";// Icone OK
		} else {
			//$message_dependancy .= $plugin->getName() . ' (' . $plugin->getId() . ') : ' . $liste_icones[1] . "\n";// Icone KO
            $message_dependancy .= $plugin->getName() . ' : ' . $liste_icones[1] . "\n";// Icone KO
		}
	}
	if ($plugin->getHasOwnDeamon() == 1) {
		if ($plugin->deamon_info()['state'] == 'ok') {
			//$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') : ' . $liste_icones[0] . "\n";// Icone OK
            $message_daemon .= $plugin->getName() . ' : ' . $liste_icones[0] . "\n";// Icone OK
		} else {
			//$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') : ' . $liste_icones[1] . "\n";// Icone KO		
            $message_daemon .= $plugin->getName() . ' : ' . $liste_icones[1] . "\n";// Icone KO	
		}
	}
	if ($plugin->getId() == 'blea') {
		//Plugin BLEA : core/class/blea.class.php voir fonction health()
		$sante = blea::health();// Renvoi 2 tableaux : le premier donne le nombre d'antennes et le second donne, par antenne, le nom et le statut du démon
		if ($sante[0]['result'] > 0) {
			foreach ($sante as $antenne) {
				if ($antenne['test'] != 'Nombre d\'antennes') {
						$antenne_name = str_replace('Démon ','',$antenne['test']);
					if ($antenne['result'] == 'OK') {
						$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : ' . $liste_icones[0] . "\n";// Icone OK
                    } else {
						$message_daemon .= $plugin->getName() . ' (' . $plugin->getId() . ') Antenne ' . $antenne_name . ' : ' . $liste_icones[1] . "\n";// Icone KO		
                    }
                }
            }
        }
    }
}

Bonjour,
Pour info il est prévu de rajouter ce type d’information dans le plugin virtuel ou script, je sais pas encore comment rendre ca pratique niveau interface mais dès que j’aurais trouvé je le ferais.

1 « J'aime »

super Loic;
Tout bêtement pour mon usage j’ai juste besoin d’une info binaire.

et actuellement il n’y a pas de moyen de recupérer simplement cette valeur via virtuel ou autres.? (autres que jeelink qui ne s’actualise pas au niveau des cde de plugin quand on en rajoute)

Non ce n’est pas possible sinon je t’aurais bien évidement donné la procedure.

Voila la beta du plugin virtuel qui vient de sortir a un bouton permettant de crée un équipement qui aura le status des démons ainsi que les commande start et stop

3 « J'aime »

tu es une machine
C’est trop bien
merci à toi
j’ai testé sur mon jeedom de test, j’attends la stable pour ma prod

Edit : quand on supprime un plugin, les actions et info ne se supprime pas aprés mise à jours .
aprés il suffit de supprimer manuellement. et quand on met à jours ca ne revient pas.
A voir juste cette modif pas urgente.

Non c’est volontaire au cas d’une suppression involontaire d’un plugin ou sur une resinstallation ça évite de perdre les liens avec les scénarios ou l’historique

3 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.