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 9 months ago. Updated 8 months 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 9 months ago

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

Ref #29457

Revision 9c94b8c6 (diff)
Added by Benjamin Bohard 8 months ago

Fixes typing error.

Ref #29457

History

#1 Updated by Benjamin Bohard 9 months ago

  • Status changed from Nouveau to Résolu

#2 Updated by Fabrice Barconnière 9 months 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 9 months ago

  • Status changed from En cours to Résolu

#4 Updated by Benjamin Bohard 9 months 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 8 months 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 8 months ago

  • Status changed from En cours to Résolu

#7 Updated by Fabrice Barconnière 8 months 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 8 months ago

  • Status changed from Résolu to En cours

#9 Updated by Fabrice Barconnière 8 months ago

  • Status changed from En cours to Résolu

#10 Updated by Fabrice Barconnière 8 months 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 8 months ago

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

Also available in: Atom PDF