Bonjour,

Dans le cadre d'une surveillance de serveur, je relève le trafic réseau sur des protocoles donnés (paquets marqués avec iptables).
La surveillance étant faite avec Ganglia (contrainte projet), je dois lire régulièrement mes compteurs absolus dans iptables pour alimenter ma métrique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
/sbin/iptables -t mangle -L OUTPUT -v -n -x | sed 1,2d | grep 'MARK set 0x1'
Jusque là, pas de soucis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 8088039 5194390582 MARK       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp dpt:1352 MARK set 0x1
 5020292 1613634853 MARK       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0          tcp spt:1352 MARK set 0x1
Là où ça se corse, c'est qu'il me faut faire la somme de la deuxième colonne.
Naturellement, j'ai pipé tout ça avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
awk '{ sum+=$2;} END {printf "%d\n",sum}'
Tout roule quand je suis sur mon environnement de test (avec 3 octets et demi par secondes ) mais en prod, mes métriques sautent car passé un certain step awk me propose une sortie en notation scientifique (6.80808e+09) que Ganglia interprète comme une string et donc pas comme un uint...

Ma question donc : peut-on inhiber ce comportement ? Avez-vous une autre idée pour faire cette addition qu'un programme C spécifique ?

Merci d'avance.
@+