saphoooo / freebox_exporter

A prometheus exporter for freebox stats
Apache License 2.0
52 stars 26 forks source link

NET Error #39

Closed YDeltagon closed 4 years ago

YDeltagon commented 4 years ago

EN : Freebox Delta S (I use the VMs integrated into the Freebox DELTA, under UBUNTU, with Docker and saphoooo/freebox-exporter:v1.2.1-armv7 with the "-fiber" command and the port 10001 open in Docker)

FR : Freebox Delta S (J'utilise les VM intégrez a la Freebox DELTA, sous UBUNTU, avec Docker et saphoooo/freebox-exporter:v1.2.1-armv7 avec la commande "-fiber" et les port 10001 ouvert dans Docker)

J'ai l'erreur / I have the error : "2020/09/03 08:46:21 An error occured with NET metrics: json: cannot unmarshal number 12500000000 into Go struct field .result.data of type int"

EN : I receive and display the information concerning the WIFI and the peripherals currently connected to the BOX, but nothing in "NET" FR : Je réceptionne et affiche bien les infos concernant la WIFI et les périphériques connecté actuellement a la BOX, mais rien dans "NET"

Edit : PS : Déjà tester sans -FIBER, j'ai la même erreur

YDeltagon commented 4 years ago

image Voici mon Grafana (mon PC étant éteint, les "No Data" sont normaux)

Comme on le voie, je réceptionne bien les infos de la box, mais, le VPN par exemple qui est dans "NET" ne m’affiche jamais plus de 0

saphoooo commented 4 years ago

Je vais tenter de déterminer quelles sont les métriques à faire passer en unit64 (la documentation ne mentionne que int), mais comme je n'ai pas de freebox fibre, je vais devoir y aller à tâtons.

YDeltagon commented 4 years ago

Si besoin, je peut te laissé prendre la main sur mon pc avec un accès a mon interface free, api, etc... Je sais pas si cela peut t'aider, mais ça peut ce faire 👍

saphoooo commented 4 years ago

J'ai créé une branche net_error, il faudrait compiler et tester le binaire, si quelqu'un a la freebox fibre.

YDeltagon commented 4 years ago

Je pourrai le faire, mais j'ai pas les compétences pour le faire 😅

saphoooo commented 4 years ago

Ok, j'ai créé un conteneur sur Dockerhub : saphoooo/freebox_exporter:debug. Si quelqu'un peut me faire un retour.

YDeltagon commented 4 years ago

Je test ça ce soir 👍merci

YDeltagon commented 4 years ago

Ok, j'ai créé un conteneur sur Dockerhub : saphoooo/freebox_exporter:debug. Si quelqu'un peut me faire un retour.

Je pense que c'est pas la version ARM64Bit

"standard_init_linux.go:211: exec user process caused "exec format error"

EDIT : Ma VM est sous ARM 64Bit

saphoooo commented 4 years ago

Ok, je vais être absent durant quelques jours mais j'y regarderai à mon retour.

YDeltagon commented 4 years ago

Pas de soucis, il faudrait que j'apprenne à le créé moi le docker ARM64

YDeltagon commented 4 years ago

image Tien nouveau BUG, ma TV est déconnecté depuis un moment, mais, la wifi ne s'actualise pas, apparemment, c'est pas un bug ni de grafana ni de prometheus

YDeltagon commented 4 years ago

Je vient de test la nouvelle version 1.2.2 sous ARMv7

Toujours la même erreur : 2020/09/18 14:32:30 An error occured with NET metrics: json: cannot unmarshal number 12500000000 into Go struct field .result.data of type int

saphoooo commented 4 years ago

Je viens de push une nouvelle version de net_error. D'après de que je constate du message d'erreur, normalement le RRD NET est censé retourner une map string[int], mais dans le cas présent c'est juste un int qui est retourné. Pour m'en assuré, cette version de debug doit retourner le body de la requête.

YDeltagon commented 4 years ago

Si tu as besoin de test sur fibre, je suis dispo :P Merci en tout cas pour tout ce que tu fait :)

saphoooo commented 4 years ago

Pas de souci, le build de l'image Docker est en cours, elle devrait être dispo dans quelques minutes. Donc normalement en plus du message d'erreur, il devrait y avoir le body de la requête, ce qui devrait nous donner plus d'info sur ce qui est retourné, et comment c'est structuré. Visiblement, ça ne fonctionne pas de la même manière sur la freebox fibre.

YDeltagon commented 4 years ago

Tu la build pour AMD Je suis sous ARM64 :')

saphoooo commented 4 years ago

Ah oui :-) alors armv7 est prête aussi

YDeltagon commented 4 years ago

Yeay, thx : 2020/09/18 18:27:25 An error occured with NET metrics: json: cannot unmarshal number 12500000000 into Go struct field .result.data of type int

[123 34 115 117 99 99 101 115 115 34 58 116 114 117 101 44 34 114 101 115 117 108 116 34 58 123 34 100 97 116 101 95 115 116 97 114 116 34 58 49 54 48 48 52 53 51 54 50 48 44 34 100 97 116 97 34 58 91 123 34 114 97 116 101 95 117 112 34 58 52 57 53 49 55 44 34 98 119 95 100 111 119 110 34 58 49 50 53 48 48 48 48 48 48 48 48 44 34 114 97 116 101 95 100 111 119 110 34 58 54 53 50 50 51 44 34 98 119 95 117 112 34 58 56 55 53 48 48 48 48 48 48 44 34 116 105 109 101 34 58 49 54 48 48 52 53 51 54 50 48 125 93 44 34 100 97 116 101 95 101 110 100 34 58 49 54 48 48 52 53 51 54 51 57 125 125]

[123 34 115 117 99 99 101 115 115 34 58 116 114 117 101 44 34 114 101 115 117 108 116 34 58 123 34 100 97 116 101 95 115 116 97 114 116 34 58 49 54 48 48 52 53 51 54 51 48 44 34 100 97 116 97 34 58 91 123 34 114 97 116 101 95 117 112 34 58 52 51 56 53 54 44 34 98 119 95 100 111 119 110 34 58 49 50 53 48 48 48 48 48 48 48 48 44 34 114 97 116 101 95 100 111 119 110 34 58 54 48 55 53 54 44 34 98 119 95 117 112 34 58 56 55 52 57 57 57 57 57 57 44 34 116 105 109 101 34 58 49 54 48 48 52 53 51 54 51 48 125 93 44 34 100 97 116 101 95 101 110 100 34 58 49 54 48 48 52 53 51 54 52 57 125 125]

2020/09/18 18:27:35 An error occured with NET metrics: json: cannot unmarshal number 12500000000 into Go struct field .result.data of type int

[123 34 115 117 99 99 101 115 115 34 58 116 114 117 101 44 34 114 101 115 117 108 116 34 58 123 34 100 97 116 101 95 115 116 97 114 116 34 58 49 54 48 48 52 53 51 54 52 48 44 34 100 97 116 97 34 58 91 123 34 114 97 116 101 95 117 112 34 58 53 49 55 48 55 44 34 98 119 95 100 111 119 110 34 58 49 50 53 48 48 48 48 48 48 48 48 44 34 114 97 116 101 95 100 111 119 110 34 58 53 53 56 49 51 44 34 98 119 95 117 112 34 58 56 55 53 48 48 48 48 48 48 44 34 116 105 109 101 34 58 49 54 48 48 52 53 51 54 52 48 125 93 44 34 100 97 116 101 95 101 110 100 34 58 49 54 48 48 52 53 51 54 53 57 125 125]

2020/09/18 18:27:45 An error occured with NET metrics: json: cannot unmarshal number 12500000000 into Go struct field .result.data of type int

saphoooo commented 4 years ago

Cool, je vais pouvoir regarder ça !

{"success":true,"result":{"date_start":1600453570,"data":[{"rate_up":55639,"bw_down":12500000000,"rate_down":187674,"bw_up":875000000,"time":1600453570}],"date_end":1600453589}}
YDeltagon commented 4 years ago

Ca va tu t'en sort ? :P

saphoooo commented 4 years ago

Je n'arrive pas à reproduire l'erreur et les tests unitaires passent comme des fleurs. Aussi je me demande si ce n'est pas un problème lié à ARM. De ce que j'ai pu lire, la tailler maximale d'un INT sur ce type d'architecture est de 2147483647, et ton message d'erreur indique 12500000000. Il faut que je prépare une Pi pour valider cette théorie.

YDeltagon commented 4 years ago

aie, j'ai pas d'autre VM que sur de l'ARM64 :'(

saphoooo commented 4 years ago

J'ai enfin pu mettre mon Pi en place, mais malheureusement, c'est ce que je suspectais :

# freebox_exporter [freebox_exporter.test]
./getters_test.go:272:6: constant 12500000000 overflows int

Je vais regarder comment contourner cette limitation.

saphoooo commented 4 years ago

J'ai modifié toutes les int pour les passer en int64. Maintenant le test unitaire passe sous arm. Je lance le build de l'image Docker pour qu'elle puisse être testée avec une Freebox fibre.

YDeltagon commented 4 years ago

Yes, je suis en pleine réinstallation de ma VM, des que j'ai fini, je test ca ;)

saphoooo commented 4 years ago

Corrigé dans la version v1.2.2.