#1 Le 09/04/2015, à 14:22
- Beuhlet_Reseau
Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Bonjour à toutes et à tous,
Voilà je cherche à réaliser chaque matin un audit des interfaces réseau des serveurs (on va dire qu'il y en a une trentaine :cool: )
J'ai mis en place un petit script sur mes machines de ce genre la
- Sélection du pool de serveur
- Sélection des serveurs du pool (Solaris)
- kstat -p -c net :::link_speed > interface_speed_serveurn°X
- kstat -p -c net :::link_duplex > interface_duplex_serveurn°X
- kstat -p -c net :::link_up > interface_up_serveurn°X
- /usr/sbin/ifconfig -a > interface_ifconfig_serveurn°X
Nous voila avec 4 fichiers.
Je vais alors récupérer différentes informations dans ces 3 premiers fichiers pour en ressortir :
- $Speed (1000, 100mbs)
- $duplex (en fonction du chiffre correspondant : Half, Full ...)
- $up (0 ou 1 = Up ou Down)
- $number (numéro de l'interface de 1 à ..)
- $name (nom de l'interface ipge, eg100, ect ...)
Ensuite si les variables (| grep $name$number) sont trouvées dans le fichier interface_ifconfig_serveurn°X alors :
Le message OK suivit de $name $number d'une vitesse de $speed en $duplex est en état $up
Sinon
NOK l'interface est introuvable dans ifconfig.
Bref tout sa pour savoir si je peux essayer ceci sur Linux en sachant que la commance Ksat ne fonctionne pas.
Merci
Dernière modification par Beuhlet_Reseau (Le 10/04/2015, à 16:57)
L'avenir appartient à ceux qui se lèvent tôt... Pas ceux qui crachent trop (vite?).
Hors ligne
#2 Le 09/04/2015, à 15:03
- tiramiseb
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Salut,
Tu peux obtenir les informations dont tu parles avec la commande mii-tool.
Il faudra bien sûr adapter tes scripts pour tirer les informations de la bonne manière.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 09/04/2015, à 15:59
- Beuhlet_Reseau
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Salut,
Tu peux obtenir les informations dont tu parles avec la commande mii-tool.
Il faudra bien sûr adapter tes scripts pour tirer les informations de la bonne manière.
Merci c'est bien cela.
Néanmoins il y a un truc qui me tracasse.
ifconfig -a
bond0 Link encap:Ethernet HWaddr 3C:4A:92:79:
bond1 Link encap:Ethernet HWaddr 3C:4A:92
eth0 Link encap:Ethernet HWaddr 3C:4A:92:
eth1 Link encap:Ethernet HWaddr 3C:4A:
eth2 Link encap:Ethernet HW
eth3 Link encap:Ethernet HWaddr 3C:4
eth4 Link encap:Ethernet HWaddr 00:26:5
eth5 Link encap:Ethernet HWaddr 3C:4A:
eth6 Link encap:Ethernet HWaddr 00
eth7 Link encap:Ethernet HWaddr 3C:4A
mii-tool -w
eth0: negotiated 100baseTx-FD, link ok
eth1: no autonegotiation, 100baseTx-HD, link ok
eth2: negotiated 100baseTx-FD flow-control, link ok
eth3: negotiated 100baseTx-FD, link ok
SIOCGMIIREG on eth4 failed: Input/output error
eth4: negotiated 100baseTx-FD, link ok
SIOCGMIIREG on eth5 failed: Input/output error
eth5: negotiated 100baseTx-FD, link ok
SIOCGMIIREG on eth6 failed: Input/output error
eth6: negotiated 100baseTx-FD, link ok
SIOCGMIIREG on eth7 failed: Input/output error
eth7: negotiated 100baseTx-FD, link ok
Je ne retrouve pas mes bond0 et bond1 ? (ni le débit associé.. mais bon c'est pas très important).
Les erreurs styles SIOCGMIIREG on eth7 failed: Input/output error veulent juste dire qu'elle n'est pas utilisée je crois.
Dernière modification par Beuhlet_Reseau (Le 09/04/2015, à 16:00)
L'avenir appartient à ceux qui se lèvent tôt... Pas ceux qui crachent trop (vite?).
Hors ligne
#4 Le 09/04/2015, à 16:10
- tiramiseb
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
bond* ce ne sont pas des interfaces, ce sont des regroupements d'interfaces pour faire du bonding. C'est donc un cas particulier.
L'erreur "SIOCGMIIREG" semblerait provenir du fait que l'outil mii-tool semble devenir obsolète. Ces lignes peuvent être ignorées, on voit que les liens sont "ok" pour toutes ces interfaces, elles sont donc connectées.
Je ne trouve pas d'autre outil permettant de liste, d'un coup d'un seul, comme mii-tool.
Tu peux éventuellement utiliser « lshw -c net », encore faut-il que lshw soit installé.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#5 Le 09/04/2015, à 18:06
- bruno
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Bonjour,
Tu peux te servir des commandes ip plutôt que ifconfig qui est obsolète (et ne donne pas toutes les infos…)
ip addr
Ensuite ethtool (alternative à mii-tool) peut te donner les informations que tu cherches mais il faut l’appeler sur chaque interface :
ethtool eth0
On peut également retrouver des infos dans les journaux système (dmesg, syslog).
Dernière modification par bruno (Le 09/04/2015, à 18:07)
Hors ligne
#6 Le 09/04/2015, à 21:19
- tiramiseb
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
bruno: je suis d'accord, "ip addr" est mieux que "ifconfig" pour cet usage.
Pour ethtool, comme tu le dis, le problème c'est qu'il ne présente pas de moyen de lister les interfaces.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 10/04/2015, à 10:03
- Beuhlet_Reseau
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Quelle est donc cette si grande différence entre ip addr et ifconfig -a ?
Ma grande question est est ce que mii-tool ou ethtool indique si l'interface est down ou up afin de comparer avec le résultat du ip addr ? Et ainsi dégager une anomalie (style interface eth0 non présente dans ifconfig/ipaddr ?)
Tiramiseb tu m'as indiqué que les bonds n'étaient que des regroupements d'Interface, comment savoir lesquelles de mes interfaces eth ont éré groupées dans ces groupements ?
Merci
L'avenir appartient à ceux qui se lèvent tôt... Pas ceux qui crachent trop (vite?).
Hors ligne
#8 Le 10/04/2015, à 10:41
- bruno
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Pour les différences je t'invite a essayer les deux commandes et à regarder la page de man ip.
ethtool indique bien si une interface est active, exemple :
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
drv
Link detected: yes
Si tu veux l'utiliser sur toutes les interfaces (physiques et virtuelles), tu peux sans doute faire un petit script qui fait une boucle sur les noms d'interfaces présents sous /sys/class/net
Hors ligne
#9 Le 10/04/2015, à 10:44
- tiramiseb
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Pour avoir des infos sur les interfaces en bonding, tu peux lire les pseudofichiers dans /proc/net/bonding/
(info trouvée sur Google, je n'ai pas de plateforme pour expérimenter ça)
mii-tool indique que le lien est bon, tu l'as toi-même montré (« link ok »).
Pour ethtool, bruno t'a répondu.
Enfin, j'approuve sa dernière affirmation : regarder dans /sys/class/net sera le meilleur moyen pour toi d'avoir la liste de toutes les interfaces, il suffit ensuite d'utiliser les différentes commandes qu'on t'a données pour réunir les infos que tu demandes.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 10/04/2015, à 11:06
- Beuhlet_Reseau
Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]
Je vous suis reconnaissant pour ces conseils avisés.
En effet avec la commande
ls /sys/class/net | grep eth > interfaces_$serveur
J'obtiens toutes les interfaces "connectées ou non" :
cat interfaces_$serveur
eth0
eth1
eth2
eth3
eth4
eth5
eth6
eth7
D'ici je compte faire une boucle for interfaces in interfaces_$serveur
ethtool $interfaces | egrep "Speed|Duplex|Link"
Speed: 1000Mb/s
Duplex: Full
Link detected: yes
ça devrait le faire je vous remercie
Dernière modification par Beuhlet_Reseau (Le 10/04/2015, à 11:34)
L'avenir appartient à ceux qui se lèvent tôt... Pas ceux qui crachent trop (vite?).
Hors ligne