Bonjour.
Il y a quelque temps, j'ai eu l'occasion d'essayer la plate-forme elle-même et l'équilibreur de charge virtuel sur la plate-forme SDN / NFV, et j'ai pensé qu'il ne serait pas intéressant de simplement capturer comment le trafic était relayé et équilibré, donc c'est juste pour le visionnement. J'ai fait un simple moniteur de trafic sur CentOS 6.x.
En fait, je me réfère simplement au fichier de statistiques d'interface (texte) sous / sys / class / net toutes les secondes et je mets à jour l'écran avec ncurses, mais quand je flux réellement le trafic, je peux le surveiller tel quel (trafic) On a l'impression que ça coule), donc c'est intéressant.
Je regarde les fichiers ici. Il existe de nombreuses autres collisions, c'est donc une bonne idée de jeter un œil au répertoire. Remplacez "eth0" par le nom de votre interface. Ces fichiers contiennent simplement des nombres tels que le nombre de paquets et le nombre d'octets.
/sys/class/net/eth0/statistics/rx_packets
/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/rx_errors
/sys/class/net/eth0/statistics/rx_dropped
/sys/class/net/eth0/statistics/tx_packets
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/tx_errors
/sys/class/net/eth0/statistics/tx_dropped
Ce n'est pas "moderne" car j'ai utilisé ncurses en supposant qu'il sera visualisé depuis Horizon d'OpenStack sur la console.
Bien que cela s'écarte du sujet principal, je voulais imiter L2 transparent VNF (Virtual Network Function) pour les tests sur la plate-forme NFV, et j'ai connecté les interfaces gauche et droite avec un pont Linux sur Linux qui exécute ce moniteur, alors j'ai frappé la commande Prenez-en note. Le "brvnf" ci-dessous est un nom de pont facultatif. Dans l'exemple ci-dessous, il est connecté à [eth1-brvnf-eth2] pour fonctionner de manière transparente.
brctl addbr brvnf
brctl addif brvnf eth1
brctl addif brvnf eth2
ifconfig brvnf up
À première vue, il peut sembler difficile d'implémenter un moniteur de trafic, mais sous Linux, vous pouvez facilement vous référer à ces fichiers. Puisqu'il s'agit de texte brut, il peut être facilement manipulé même avec des scripts shell.
La source entière est publiée ici (github) [https://github.com/msozawa/simple-tools/tree/master/simple_tra_mon), alors n'hésitez pas à la prendre si vous êtes intéressé.
Eh bien.
Recommended Posts