Projet

Général

Profil

Tâche #29457

Scénario #20753: Visibilité des baux DHCP restants (EAD3 et agent)

Ajouter un agent zéphir affichant les adresses disponibles pour chaque plage

Ajouté par Benjamin Bohard il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Début:
16/12/2019
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Demandes liées

Lié à Distribution EOLE - Scénario #35494: agent dhcp étrangement en warning Terminé (Sprint) 01/10/2022 31/10/2023

Révisions associées

Révision 9961cb79 (diff)
Ajouté par Benjamin Bohard il y a plus de 4 ans

Cast to float before division and add threshold at 75%.

Ref #29457

Révision 9c94b8c6 (diff)
Ajouté par Benjamin Bohard il y a plus de 4 ans

Fixes typing error.

Ref #29457

Historique

#1 Mis à jour par Benjamin Bohard il y a plus de 4 ans

  • Statut changé de Nouveau à Résolu

#2 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • Statut changé de Résolu à En cours
  • % réalisé changé de 0 à 80
  • L'agent DHCP est en avertissement dès qu'une adresse est prise dans une des plages
  • Le voyant d'état passe directement au rouge également

Peut-être prévoir des seuils (en %) pour passer en warning puis error

#3 Mis à jour par Benjamin Bohard il y a plus de 4 ans

  • Statut changé de En cours à Résolu

#4 Mis à jour par Benjamin Bohard il y a plus de 4 ans

Considérant qu’une plage pleine n’est pas forcément une erreur, j’ai gardé deux niveaux globaux uniquement : ok et avertissement.
Les diodes passent du vert au rouge en passant par le gris. Ce n’est pas très conventionnel mais les "widgets" des agents zéphir ne me semblent pas permettre autre chose.

#5 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • Statut changé de Résolu à En cours
root@scribe:~# tail -f /var/log/rsyslog/local/zephiragents/zephiragents.alert.log                                                                                                             
2020-01-16T08:20:11.690614+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011    s = VFN(VFFSL(SL,"manager",True)[VFFSL(SL,"name",True)],"last_status",True)
2020-01-16T08:20:11.690724+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/agentdatamanager.py", line 270, in __getitem__
2020-01-16T08:20:11.690886+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011    agent.ensure_data_uptodate()
2020-01-16T08:20:11.690987+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/agent.py", line 427, in ensure_data_uptodate
2020-01-16T08:20:11.692076+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011    self.update_status()
2020-01-16T08:20:11.692280+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/agent.py", line 297, in update_status
2020-01-16T08:20:11.692444+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011    new_status = self.check_status()
2020-01-16T08:20:11.692558+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agents/dhcp.py", line 55, in check_status
2020-01-16T08:20:11.692679+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011    for s in self.last_measaure.value['leases']]
2020-01-16T08:20:11.692835+01:00 scribe.dompedago.etb1.lan zephiragents: [_GenericHTTPChannelProtocol,0,127.0.0.1] #011exceptions.AttributeError: DHCPService instance has no attribute 'last_measaure'

#6 Mis à jour par Benjamin Bohard il y a plus de 4 ans

  • Statut changé de En cours à Résolu

#7 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

Oui, je sais, je suis tatillon mais en cas d'erreur sur une des plages (status à Off), il n'est remonté qu'un Warn au niveau global.
un truc de ce genre :

levels = [status.OK() if s['status'] == 'On' else status.Error() if s['status'] == 'Off' else status.Warn()
                      for s in self.last_measure.value['leases']]

#8 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • Statut changé de Résolu à En cours

#9 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • Statut changé de En cours à Résolu

#10 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • % réalisé changé de 80 à 100

OK. On laisse l'état Warning en cas de saturation d'une plage.
On ajustera en cas de réclamation des utilisateurs.

#11 Mis à jour par Fabrice Barconnière il y a plus de 4 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

#12 Mis à jour par Emmanuel GARETTE il y a 10 mois

Formats disponibles : Atom PDF