Tâche #9782
Scénario #9524: Mettre en place un proces de remontée d'information depuis chaque serveur Zephir à des fins statistiques
Échange technique sur ce point avec Bruno Boiget
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 9 ans
- Temps estimé mis à 3.00 h
- Restant à faire (heures) mis à 3.0
#2 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Nouveau à En cours
#3 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Fichier zephir_get_timeouts.py Voir ajouté
#4 Mis à jour par Emmanuel IHRY il y a plus de 9 ans
Les scripts sont déployés et fonctionnent sur les deux serveurs.
Il y a cependant une différence sur chaque serveur entre le nombre de serveurs visibles via interface zephir ayant pour état "contact perdu" et le nombre de serveurs ramenés par la fonction :
Zephir 1 : 283, fonction : 269
Zephir 2 : 169 fontcion 146
Y a t'il une explication ?
#5 Mis à jour par Bruno Boiget il y a plus de 9 ans
je pense avoir trouvé d'où vient la différence.
Le script se base sur get_alertes() qui ne liste que les serveurs considérés en erreur. Si les alertes ont été désactivées sur certains serveurs (description du serveur :Alertes désactivées) , ils n’apparaîtront pas.
testé sur le Zéphir académique de Dijon :
- Le script génère un csv avec 10 serveurs.
- en passant par la sélection d'un groupe de serveurs:
- critère état du serveur: contact perdu --> groupe de 31 serveurs dont ceux présents dans le csv
- critères état du serveur: contact perdu + Blocage des alertes: alertes bloquées -> groupe de 21 serveurs qui ne sont pas dans le CSV
- au niveau de l'interface Web, le script correspond plutôt à accueil -> serveurs en alerte : Serveur(s) n'ayant pas contacté le serveur Zéphir dernièrement
Au niveau du script :
- soit on considére que les serveurs dont les alertes sont désactivées en sont pas à prendre en compte
- soit il faut utiliser la fonction de sélection de groupe au lieu de get_alertes pour obtenir tous les serveurs :
ret_code, serveurs = zephir_proxy.serveurs.groupe_serveur ({'etat': '2'}, {})
Attention, dans ce cas il faut adapter la boucle qui parcourt les serveurs, les informations ne sont pas renvoyées sous le même format. exemple des données retournées pour 1 serveur :
{'date_install': '2010-03-22', 'disque_dur': '', 'etat': 2, 'id': 123, 'installateur': '', 'ip_publique': '194.167.18.244', 'libelle': 'test_preludeRC', 'maj': 81, 'materiel': 'amd64', 'md5s': 1, 'module_actuel': 56, 'module_initial': 56, 'no_alert': 1, 'params': "{'cle_ok': 1, 'maj_ok': [1, '2010-03-23 11:24:04', 'Mise \\xc3\\xa0 jour OK'], 'perso_ok': [-2, ''], 'config_ok': 1, 'new_key': (0, ''), 'dictpaqs_ok': [-2, ''], 'service_restart_ok': [-2, ''], 'dico_ok': 0, 'configure_ok': [-2, ''], 'reconfigure_ok': [-2, ''], 'uucp_cmd': 0, 'upgrade_ok': [-2, ''], 'migration_ok': -1, 'uucp_transfert': 0, 'lock_ok': [1, ''], 'md5s': [-1, ''], 'sauvegarde_ok': [-2, ''], 'query_maj': [-2, ''], 'reboot_ok': [-2, ''], 'timeout': [0, 'Tue Mar 30 11:57:58 2010'], 'agents': 1, 'last_log': '2010-03-30 11:57:58'}", 'processeur': '', 'remarques': '', 'rne': '0000001A', 'tel': '', 'timeout': 300, 'timestamp': 1417498161.717774, 'variante': 72}
#6 Mis à jour par Joël Cuissinat il y a plus de 9 ans
- Statut changé de En cours à Fermé
- Restant à faire (heures) changé de 3.0 à 0.0