Aruba & ProVision-based
1752580 Members
5303 Online
108788 Solutions
New Discussion

Connaitre durée d'inactivité d'un port sur switch Procurve / how to know port inactivity on procurve

 
Alexandre85
Occasional Contributor

Connaitre durée d'inactivité d'un port sur switch Procurve / how to know port inactivity on procurve

Bonjour,

Je travaille actuellement dans une boite avec un parc réseau d'environs 15 switch de différents modeles procurve, j'aimerais faire un peu de "ménage" dans les baies histoire de débrasser des cables inutiles.

Pour cela, j'aimerais savoir si sur ce genre de modele, il y a moyen de connaitre la durée d'inactivité de chacun des ports des switch, comme cela existe sous Cisco avec la commande suivante: 

sh int | inc line protocol is|Last input

ainsi je pourrais débrasser les liens "dormants" depuis quelques semaines minimum qui encombrent nos baies.

Merci d'avance

Alexandre.

 

I'm actually working in a compagny that got around 15 switch on differents procurve modeles, and i would like to do some cleaning in the network and remove all the uselesss wire. 
I would like to know if, on that kind of model, there is a way to know the inactivity period of each port, like this cisco command: 

sh int | inc line protocol is|Last input

so i could remove all inactive link since 2 week.

Thanks

Alexandre. 

3 REPLIES 3
Vince-Whirlwind
Honored Contributor

Re: Connaitre durée d'inactivité d'un port sur switch Procurve / how to know port inactivity on proc

The way I used to do it was I would clear all the switchport statistics and then put a note in my calendar to check the switch again 5 weeks later. Any switchport with no activity I would clean up the patch leads.

Alexandre85
Occasional Contributor

Re: Connaitre durée d'inactivité d'un port sur switch Procurve / how to know port inactivity on proc

That's a good idea, i will do the same :) thx you !

Alexandre85
Occasional Contributor

Re: Connaitre durée d'inactivité d'un port sur switch Procurve / how to know port inactivity on proc

sur les vieux firmware Procurve, il est impossible d'effacer les stats par switch sans redémarer ces derniers. C'est pour ca que j'ai fait un petit script pour récuperer automatiquement les tables via telnet, (a paartir d'un autre trouvé sur un autre forum) et ainsi les comparer via un plugin notepad par exemple deux semaines plus tard. Je vous joins ce script,  si jamais il interesse du monde

 

# Ce script va établir une connexion TELNET a un équipement, il faut renseigner dans le  tableau @switchs les noms des équipements + le mdp et le Login 
# Pour utiliser le script, placer ce dernier dans un dossier et créer dans ce même dossier un fichier texte nommé DIAG.txt
# Installer ensuite Perl sur votre poste ( active perl de préférence )
# lancez un invite de commande ( windows+r -> cmd ) puis placez vous dans le dossier ou est votre script ( cd +path de votre dossier parent, ex cd c://user/desktop)
#lancez ensuite la commande avec tout d'abord le path de votre Perl ( par défaut c://perl/bin/perl ) suivi du nom de votre fichier ( ex script.pl) ce qui donne c://user/desktop>c://perl/bin/perl script.pl
use Net::Telnet ();
use Cwd;
use Config;

#tableau de liste des switchs ou équipements à scanner
@switchs = ("switch1","switch2","switch3","switch4");#etc

#variable pour un futur compteur
$i=0;




#boucle pour faire le tour des switch ( dès qu'une connexion est terminée, on en commence une autre )
foreach $switch (@switchs)
{
#connexion en Telnet, on créé une session $telnet avec une nouvelle méthode Net::Telnet
 my $telnet = new Net::Telnet (Timeout => 5, errmode => 'return', Telnetmode => 0);
 #connexion au premier switch
    $telnet->open($switch);
#certain switch ont un message "press any key to continue" lors de l'ouverture de la session telnet, cette ligne permet de la passer
	$telnet->print('') if $telnet->waitfor('/Press any key to continue/') == 1;
# a l'apparition du message "login:", le script va rentrer les ID (ici admin)
    $telnet->waitfor('/Login:.*$/');
    $telnet->print('écrire son login ici');
#comme précédemment pour les mots de passe, il est possible d'attribuer un mdp par switch avec un tableau associatif
    $telnet->waitfor('/Password:.*$/');
    $telnet->print('écrire son mot de passe ici');
#on attend ensuite d'avoir le prompt ( SWMACEXEMPLE#) pour valider l'ouverture de la session
    $telnet->waitfor(-match => '/>.*$/');
	
	
#on incrémente la valeur de $i pour savoir combien de switchs ont été scannés
$i++;


#On ouvre le fichier DIAG.txt en écriture sans écrasement, tous les info des switch seront a la suite dans le .txt 
#il faut que le fichier soit au même emplacement que le script, ou alors spécifier son chemin d'acces
open (DIAG, '>>', "DIAG.txt") || die ("vous de pouvez pas céer le fichier \"DIAG.txt\"");
#mise en page du fichier, on écrit dans DIAG.txt avant chaque info de switch une barre "titre" 
print DIAG "\n=Show interfaces========For $switch ======================================================\n";

	#on écrit dans le prompt de la session telnet la commande "sh interfaces"
    print $telnet-> cmd("sh interfaces");
    config:
		#tant que l'on peut, on récupere les lignes qui s'affichent en résultat de la commande dans une variable $line
        while (my $line = $telnet->getline(Timeout => 10)) {
			#si la reggex est vrai, c'est a dire qu'apparait le message disant d'appuyer sur espace pour déployer plus de lignes de résultat, alors on remplace cette ligne par rien, ce qui la fait disparaitre
            $line =~ s/-- more --//g;
			#lorsque le résultat de l'éxecution est finie ( on retombe sur le prompt SWMACEXEMPLE#), on termine la commande
            if ($line =~ m/>.*$/) {
                last config;
			#sinon, on écrit chaque ligne dans le fichier texte.
            } else {
                unless ($line =~ m/\[/g) {
                    print DIAG $line;
                }
				#on appuie sur espace pour faire dérouler les résultat ( lorque l'on obtient un message -- more -- )
                $telnet->print(' ');
            }
        }
		#on clot la session telnet
		$telnet -> close;
			#on ferme le flux d'écriture du fichier
			close (DIAG);
		}
		
		
		
		#on affiche sur l'invite de commande le nombre de switch scannés.
		print "il y a $i switch qui ont été scannés";