Project

General

Profile

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

Added by Benjamin Bohard 13 days ago. Updated 11 days ago.

Status:
Fermé
Priority:
Normal
Assigned To:
-
Start date:
12/16/2019
Due date:
% Done:

100%

Remaining (hours):
0.0

Associated revisions

Revision 9961cb79 (diff)
Added by Benjamin Bohard 12 days ago

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

Ref #29457

Revision 9c94b8c6 (diff)
Added by Benjamin Bohard 11 days ago

Fixes typing error.

Ref #29457

History

#1 Updated by Benjamin Bohard 13 days ago

  • Status changed from Nouveau to Résolu

#2 Updated by Fabrice Barconnière 12 days ago

  • Status changed from Résolu to En cours
  • % Done changed from 0 to 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 Updated by Benjamin Bohard 12 days ago

  • Status changed from En cours to Résolu

#4 Updated by Benjamin Bohard 12 days ago

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 Updated by Fabrice Barconnière 11 days ago

  • Status changed from Résolu to 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 Updated by Benjamin Bohard 11 days ago

  • Status changed from En cours to Résolu

#7 Updated by Fabrice Barconnière 11 days ago

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 Updated by Fabrice Barconnière 11 days ago

  • Status changed from Résolu to En cours

#9 Updated by Fabrice Barconnière 11 days ago

  • Status changed from En cours to Résolu

#10 Updated by Fabrice Barconnière 11 days ago

  • % Done changed from 80 to 100

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

#11 Updated by Fabrice Barconnière 11 days ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) set to 0.0

Also available in: Atom PDF