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 :
Jusque là, pas de soucis :
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'
Là où ça se corse, c'est qu'il me faut faire la somme de la deuxième colonne.
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
Naturellement, j'ai pipé tout ça avecTout roule quand je suis sur mon environnement de test (avec 3 octets et demi par secondes
Code : Sélectionner tout - Visualiser dans une fenêtre à part awk '{ sum+=$2;} END {printf "%d\n",sum}') 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.
@+







Répondre avec citation
Partager