Tâche #34552
Scénario #34556: EOLE 2.9 : traceback agents Zéphir tcpservices et netstat
Erreur z_stats si le nom de la carte est trop long (vu sur une eole 2.8.1)
Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Début:
02/09/2022
Echéance:
% réalisé:
100%
Restant à faire (heures):
0.0
Description
J'ai un serveur avec une carte réseau qui a le nom : "enx0050b61bc1e4".
Z_stat est incapable de démarrer :
sept. 02 17:13:21 hapy systemd[1]: Stopped Agent zephir. sept. 02 17:13:21 hapy systemd[1]: Started Agent zephir. sept. 02 17:13:22 hapy creoled[1226]: 127.0.0.1 - - [02/Sep/2022:17:13:22] "GET /get/creole/interface_0/nom_zone_eth0 HTTP/1.1" 200 35 "" "python-requests/2.22.0" sept. 02 17:13:22 hapy zephiragents[15193]: Traceback (most recent call last): sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/bin/twistd3", line 11, in <module> sept. 02 17:13:22 hapy zephiragents[15193]: load_entry_point('Twisted==18.9.0', 'console_scripts', 'twistd')() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/twisted/scripts/twistd.py", line 31, in run sept. 02 17:13:22 hapy zephiragents[15193]: app.run(runApp, ServerOptions) sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 674, in run sept. 02 17:13:22 hapy zephiragents[15193]: runApp(config) sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/twisted/scripts/twistd.py", line 25, in runApp sept. 02 17:13:22 hapy zephiragents[15193]: runner.run() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 381, in run sept. 02 17:13:22 hapy zephiragents[15193]: self.application = self.createOrGetApplication() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/twisted/application/app.py", line 448, in createOrGetApplication sept. 02 17:13:22 hapy zephiragents[15193]: ser = plg.makeService(self.config.subOptions) sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/zephir_tap.py", line 49, in makeService sept. 02 17:13:22 hapy zephiragents[15193]: return ZephirService(config,serve_static=True).with_updater_and_publisher() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/zephirservice.py", line 83, in with_updater_and_publisher sept. 02 17:13:22 hapy zephiragents[15193]: self.updater = UpdaterService(self.config, self, self.root_resource) sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/zephirservice.py", line 108, in __init__ sept. 02 17:13:22 hapy zephiragents[15193]: self.agents = self.load_agents() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/zephirservice.py", line 163, in load_agents sept. 02 17:13:22 hapy zephiragents[15193]: a.init_data(os.path.join(self.config['state_dir'], sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agents/netstat.py", line 65, in init_data sept. 02 17:13:22 hapy zephiragents[15193]: MultiRRDAgent.init_data(self,archive_dir) sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/agent.py", line 520, in init_data sept. 02 17:13:22 hapy zephiragents[15193]: self.rrd[name].create() sept. 02 17:13:22 hapy zephiragents[15193]: File "/usr/lib/python3/dist-packages/zephir/monitor/agentmanager/rrd.py", line 97, in create sept. 02 17:13:22 hapy zephiragents[15193]: rrdtool.create(*args) sept. 02 17:13:22 hapy zephiragents[15193]: rrdtool.OperationalError: invalid DS format sept. 02 17:13:22 hapy systemd[1]: z_stats.service: Main process exited, code=exited, status=1/FAILURE sept. 02 17:13:22 hapy systemd[1]: z_stats.service: Failed with result 'exit-code'.
Si je limite la taille du nom cela passe.
Pour cela j'ai modifié :
/usr/share/zephir/monitor/configs/netstat.agent ligne 35 :
datasources[interf]=[{'name': "in_%s" % interf[:16], 'ds_type': 'COUNTER'}, {'name': "out_%s" % interf[:15], 'ds_type': 'COUNTER'}, {'name': "iner_%s" % interf[:14], 'ds_type': 'COUNTER'}, {'name': "outer_%s" % interf[:13], 'ds_type': 'COUNTER'}]
/usr/lib/python3/dist-packages/zephir/monitor/agents/netstat.py ligne 150 :
dico['in_%s' % if_name[:16]] = inkb dico['iner_%s' % if_name[:14]] = iner dico['out_%s' % if_name[:15]] = outkb dico['outer_%s' % if_name[:13]] = outer
Le fichier /usr/share/zephir/monitor/stats/17/netstats/enx0050b61bc1e4.rrd est alors créé correctement.
À faire¶
Implémenter la correction proposée pour EOLE ≥ 2.8.1
Révisions associées
Zstats: gestion de longs noms de carte réseau pour l'agent netstat
Autrement, zephiragents produit une stacktrace dans les logs.
Ref #34552
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus d'un an
- Description mis à jour (diff)
#2 Mis à jour par Joël Cuissinat il y a plus d'un an
- Tâche parente mis à #34540
#3 Mis à jour par Joël Cuissinat il y a plus d'un an
- Tâche parente changé de #34540 à #34556
#4 Mis à jour par Joël Cuissinat il y a plus d'un an
- Description mis à jour (diff)
#5 Mis à jour par Laurent Gourvenec il y a plus d'un an
- Statut changé de Nouveau à En cours
#6 Mis à jour par Laurent Gourvenec il y a plus d'un an
- Assigné à mis à Laurent Gourvenec
#7 Mis à jour par Laurent Gourvenec il y a plus d'un an
- % réalisé changé de 0 à 100
#8 Mis à jour par Laurent Gourvenec il y a plus d'un an
- Statut changé de En cours à À valider
#9 Mis à jour par Ludwig Seys il y a plus d'un an
- Statut changé de À valider à Résolu
#10 Mis à jour par Joël Cuissinat il y a plus d'un an
zephir-client$ git branch -r --contains 11ebd752 origin/2.8.1/master origin/HEAD -> origin/master origin/dist/eole/2.8.1/master origin/dist/eole/2.9.0/master origin/master
#11 Mis à jour par Joël Cuissinat il y a plus d'un an
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0