Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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: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.

Hors ligne

#3 Le 09/04/2015, à 15:59

Beuhlet_Reseau

Re : Equivalence Kstat sur Linux - Intégration script ? [RESOLU]

tiramiseb a écrit :

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 hmm ? (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é.

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.

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.

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 smile

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