Existe-t-il une méthode pour effacer les statistiques de 'netstat -s' sans redémarrer le périphérique ?
J'essaie de déterminer le nombre d'erreurs dans une période de temps non déterministe.
Existe-t-il une méthode pour effacer les statistiques de 'netstat -s' sans redémarrer le périphérique ?
J'essaie de déterminer le nombre d'erreurs dans une période de temps non déterministe.
En netstat
rassemble des statistiques provenant de diverses sources fournies par le noyau :
/proc/net/snmp
/proc/net/netstat
/proc/net/sctp/snmp # if used
et peut-être d'autres. Comme ces données du noyau ne sont pas remises à zéro et que les netstat
sous Linux ne conserve pas de fichier d'état, on ne peut pas lui demander de réinitialiser ses statistiques.
Heureusement, l'outil de remplacement provenant de iproute2
au lieu de la désuète net-tools
appelé nstat
tout en utilisant à peu près les mêmes sources de données, conserve un fichier d'état (qui semble être un fichier d'état). /tmp/.nstat.u$UID
), et par défaut, il n'affichera que le delta non nul depuis la dernière utilisation. Sa syntaxe n'est pas la même, vous devrez donc vous adapter. Si vous craignez de rompre la compatibilité avec d'autres *nix, c'est déjà fait : les paramètres de la commande à côté d'un simple -s
ont souvent d'autres significations, et les sorties de statistiques entre FreeBSD et Linux sont assez différentes.
Il existe des options pour afficher les deltas zéro ( -z
/ --zero
), ignorer ( -a
/ --ignore
) ou ne pas mémoriser ( -s
/ --noupdate
) de la dernière exécution pour se comporter comme netstat -s
. Il y a un mode démon (ex. -d 10
), pour éviter les courses et compter la moyenne.
Pour afficher le delta des compteurs d'erreurs, qui semblent tous se terminer en Errors
o Errs
c'est possible :
$ nstat -rn; sleep 50; nstat '*Errors' '*Errs'
#kernel
IpInHdrErrors 3 0.0
IcmpInErrors 4 0.0
IcmpInCsumErrors 4 0.0
IpExtInCsumErrors 3 0.0
Ces erreurs ayant été créées artificiellement à partir d'un espace de noms de réseau à l'aide de tc qdisc add dev eth0 handle 1: root netem corrupt 10
et l'envoi ping
. Pour avoir des statistiques moyennes (dernière colonne) disponibles, il faut d'abord lancer une instance en mode démon pour qu'elle puisse continuer à collecter des statistiques. Par exemple :
nstat -d 5 -t 60
Bien sûr, on peut aussi implémenter son propre wrapper autour de netstat
pour réimplémenter ceci : garder la dernière sortie quelque part et afficher intelligemment seulement le delta de la dernière exécution.
Remarque : la commande complémentaire rtacct
Il s'agit de domaine les statistiques des routes qui sont généralement destinées au routage avancé (statistiques).
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.