You are not logged in.
Bonjour à tous,
Je dispose de switchs Alcatel, après avoir configuré et lancé une découverte avec l'agent, les switchs apparaissent bien dans l'onglet "Découverte de matériel réseau".
Or le type n'est pas détecté, il s'agit de switchs de la gamme 6600.
Ma question se tournera vers le dev... comment que l'on fait pour ajouter le support de ce matos ?
Last edited by martin_k (2009-10-26 15:52:50)
Offline
Bonjour à tous,
Or le type n'est pas détecté, il s'agit de switchs de la gamme 6600.
Rectification.
Déjà, je tiens à m'excuser pour mon dernier message vague et évasif + l'orthographe de Tracker dans le titre.
J'ai réussi avec quelques modifications à avoir quelque chose de très intéressant.
J'ai modifié l'agent, en créant un nouveau type :
device_serial.pm :
$SerialNumberDef{'OmniStack 6600-P24'} = '.1.3.6.1.2.1.47.1.1.1.1.11.1';
$TypeDef{'OmniStack 6600-P24'} = 2;
$ModelDef{'OmniStack 6600-P24'} = 'Networking0099';
j'ai créé un fichier alcatel.pm dans agent_tracker/inc/devices/ :
sub alcatel_discovery {
$description = shift;
# example : 5.1.6.485.R02 Service Release, September 26, 2008.
if( $description =~ m/^([1-9]{1}).([0-9]{1}).([0-9]{1})(.*) Service Release,(.*)([0-9]{1}).$/ ){
print("Alcatel ..!\n");
$description_new = snmpget('.1.3.6.1.2.1.47.1.1.1.1.13.1',1);
if (($description_new ne "null") && ($description_new ne "No response from remote host")) {
if($description_new eq "OS66-P24"){
$description = "OmniStack 6600-P24";
}else{
$description = $description_new;
}
}
}
return $description;
}
1;
Je passe la partie modification du script tracker_agent.pl ...
Aussi j'ai ajouté ce fichier de modèle snmp avec le type créé auparavant :
<model>
<name><![CDATA[OmniStack 6600-P24]]></name>
<type>2</type>
<key>Networking0099</key>
<oidlist>
<oidobject>
<object><![CDATA[sysDescr]]></object>
<oid><![CDATA[.1.3.6.1.2.1.1.1.0]]></oid>
<portcounter>0</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[comments]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifDescr]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.2]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifdescr]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifIndex]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.1]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifIndex]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifInErrors]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.14]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifinerrors]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifInOctets]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.10]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifinoctets]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifAdminStatus]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.7]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifinternalstatus]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifLastChange]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.9]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[iflastchange]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifMtu]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.4]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifmtu]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifName]]></object>
<oid><![CDATA[.1.3.6.1.2.1.31.1.1.1.1]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifName]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifOutErrors]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.20]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifouterrors]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifOutOctets]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.16]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifoutoctets]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifPhysAddress]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.6]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifPhysAddress]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifSpeed]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.5]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifspeed]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifOpenStatus]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.8]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifstatus]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[IF-MIB::ifType]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.2.1.3]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ifType]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[ipNetToMediaPhysAddress]]></object>
<oid><![CDATA[.1.3.6.1.2.1.4.22.1.2]]></oid>
<portcounter>0</portcounter>
<dynamicport>1</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[ipNetToMediaPhysAddress]]></mapping_name>
<vlan>1</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[sysLocation]]></object>
<oid><![CDATA[.1.3.6.1.2.1.1.6.0]]></oid>
<portcounter>0</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[location]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[sysName]]></object>
<oid><![CDATA[.1.3.6.1.2.1.1.5.0]]></oid>
<portcounter>0</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[name]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[entPhysicalSerialNum]]></object>
<oid><![CDATA[.1.3.6.1.2.1.47.1.1.1.1.11.1]]></oid>
<portcounter>0</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[serial]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[sysUpTime]]></object>
<oid><![CDATA[.1.3.6.1.2.1.1.3.0]]></oid>
<portcounter>0</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>2</mapping_type>
<mapping_name><![CDATA[uptime]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
<oidobject>
<object><![CDATA[ifNumber]]></object>
<oid><![CDATA[.1.3.6.1.2.1.2.1.0]]></oid>
<portcounter>1</portcounter>
<dynamicport>0</dynamicport>
<mapping_type>0</mapping_type>
<mapping_name><![CDATA[]]></mapping_name>
<vlan>0</vlan>
<activation>1</activation>
</oidobject>
</oidlist>
</model>
Je cherche maintenant à aller un peu plus loin avec ce formidable plugin qu'est Tracker !
Je voudrai remonter les infos en rapport avec la ram, or le switch ne peux renvoyer que le pourcentage utilisé, et la quantité installée, d'après ce que j'ai compris Tracker utilise plutôt la quantité utilisée et la quantité installée pour calculer un pourcentage.
Aussi j'aimerais savoir si le port est en trunk et les adresses mac connectées à un port donné. J'ai essayé de modifier mon modèle, et j'ai l'impression que le type de données renvoyer par la requête SNMP ne "colle" pas avec le type attendu.
Pourrais je avoir un peu d'aide ?
Offline
Pour les connexions et mode "trunk", c'est salement tendu quand même, faut ajouter du code suivant comment fonctionne le switch, comment il gère les vlans ie comme les cisco ou comme les HP).
Je vais rajouter pour la détection, sachant que je ne vais pas prendre le alcatel.pm, ça n'a pas d'intéret puisque le modèle apparait dans le sysdescr.
Offline
Non justement le modèle n'apparaît pas dans le sysdescr, c'est la chaine "5.1.6.485.R02 Service Release, September 26, 2008." qui apparaît ...
Chez Alcatel, ' sont un peu bizarres ...
Offline
ah ok, alors nickel, c'est bien, ça j'intègre aussi ce patch
Offline
https://forge.indepnet.net/repositories … acker/1696
et
https://forge.indepnet.net/repositories … acker/1697
Tu n'as que ce modèle de switch alcatel ?
Last edited by ddurieux (2009-10-26 16:33:07)
Offline
Tiens, le résultat d'un walk sur l'oid qui "pourrait" coller ...?!
snmpwalk -v 2c -c public switchAlcatelQuiSeLaissePasFaire .1.3.6.1.4.1.6486.800.1.2.1.21.1.1.1.1.1.4
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.12 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.14 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.20 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.30 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.32 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.50 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.60 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.70 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.25.203 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.12 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.14 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.20 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.30 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.32 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.50 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.60 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.70 = INTEGER: 1
SNMPv2-SMI::enterprises.6486.800.1.2.1.21.1.1.1.1.1.4.1.26.203 = INTEGER: 1
ici les ports 25 et 26 sont en trunk...
Offline
Non j'ai aussi des 7800 (core switch) et 6300 (giga).
Pour être honnête j'ai un joli réseau avec une vingtaine de switch à superviser
Offline
Alors envoi moi les sysdescr et pour ceux ou tu as des sysdescr de merde, envoi l'oid avec le modèle avec sa valeur
Je vais regarder pour les trunks ce soir
Offline
et vite fait, pendant que j'y suis, je profite
comment je peux faire pour avoir ta version qui est sur la forge ?
svn checkout ..... ??? https://forge.indepnet.net/repositories/.../agent-trunk
la loutre j'ai la flemme de chercher
Offline
svn checkout https://forge.indepnet.net/svn/tracker/agent-trunk
Offline
Merci, je te trouve de suite les sysdesc-qui-vont-bien!
Merci encoer pour ta dispo
Offline
les voilà :
6300 :
SNMPv2-MIB::sysDescr.0 = STRING: OmniStack*24 10/100/1000
le vrai = .1.3.6.1.4.1.6486.800.1.1.2.1.5.1.1.1.1.5.1.0 :
SNMPv2-SMI::enterprises.6486.800.1.1.2.1.5.1.1.1.1.5.1.0 = STRING: "OmniStack 6300-24"
serial = .1.3.6.1.4.1.6486.800.1.1.2.1.5.1.1.1.1.3.1.10.1
7800
SNMPv2-MIB::sysDescr.0 = STRING: 5.1.6.485.R02 Service Release, September 26, 2008.
le vrai = .1.3.6.1.2.1.47.1.1.1.1.13.65
SNMPv2-SMI::mib-2.47.1.1.1.1.13.65 = STRING: "OS7800-CMM"
serial = .1.3.6.1.2.1.47.1.1.1.1.11.1
Offline
t'as pas des oid communs pour le modele des switchs ?ça serait largement mieux
Offline
Nan désolé, justement je me suis rendu compte que j'avais encore un autre type de switch avec encore des infos dans d'autres OID...
Ces constructeurs ils peuvent jamais rien faire de simple...
Tu veux que je me charge de ça dans le fichier alcatel.pm ?
Offline
si tu veux oui, tu as les switchs en main
Ben entre constructeur, pourquoi pas mais entre chaque modèles grrr font vraiment ch***
Offline
Je recommence ça dès demain matin, je te tiens au courant.
Merci et bonne soirée
Offline
oki merci
Offline
Voici mes dernières modifications sur device_serial.pm et alcaltel.pm
$SerialNumberDef{'OmniSwitch 6600-P24'} = '.1.3.6.1.2.1.47.1.1.1.1.11.1';
$TypeDef{'OmniSwitch 6600-P24'} = 2;
$ModelDef{'OmniSwitch 6600-P24'} = 'Networking0002';
$SerialNumberDef{'OmniSwitch 6600-24'} = '.1.3.6.1.2.1.47.1.1.1.1.11.1';
$TypeDef{'OmniSwitch 6600-24'} = 2;
$ModelDef{'OmniSwitch 6600-24'} = 'Networking0002';
$SerialNumberDef{'OmniSwitch 7800'} = '.1.3.6.1.2.1.47.1.1.1.1.11.1';
$TypeDef{'OmniSwitch 7800'} = 2;
$ModelDef{'OmniSwitch 7800'} = 'Networking0002';
$SerialNumberDef{'OmniStack 6300-24'} = '.1.3.6.1.4.1.6486.800.1.1.2.1.5.1.1.1.1.3.1.10.1';
$TypeDef{'OmniStack 6300-24'} = 2;
$ModelDef{'OmniStack 6300-24'} = 'Networking0002';
# Alcatel devices
sub alcatel_discovery {
$description = shift;
# example : 5.1.6.485.R02 Service Release, September 26, 2008.
if ($description =~ m/^([1-9]{1}).([0-9]{1}).([0-9]{1})(.*) Service Release,(.*)([0-9]{1}).$/ ) {
$description_new = snmpget('.1.3.6.1.2.1.47.1.1.1.1.13.1',1);
if (($description_new ne "null") && ($description_new ne "No response from remote host")) {
if ($description_new eq "OS66-P24") {
$description = "OmniSwitch 6600-P24";
}elsif ($description_new eq "OS6624") {
$description = "OmniSwitch 6600-24";
}elsif ($description_new eq "OS7-GNI2-U2 ") {
$description = "OmniSwitch 7800";
}else {
$description = $description_new;
}
}
}
elsif ($description =~ m/OmniStack/ ) {
$description_new = snmpget('.1.3.6.1.4.1.6486.800.1.1.2.1.5.1.1.1.1.5.1.0',1);
if (($description_new ne "null") && ($description_new ne "No response from remote host")) {
if ($description_new eq "OmniStack 6300-24") {
$description = "OmniStack 6300-24";
}else {
$description = $description_new;
}
}
}
return $description;
}
1;
Par contre... le côté dramatique... c'est que je n'ai plus rien dans "Découverte de matériel réseau"...
J'ai bien cherché, et ej ne vois pas d'où cela vient, dans les log de l'agent j'ai bien les lignes avec ...[YES]... et dans "Informations sur l'exécution des agents" j'ai bien le nombre de découvertes (3/3)...
T'as une piste ?
Offline
ils sont déjà dans glpi ?
Offline
Non, ils y étaient... je les ai supprimés...
Last edited by martin_k (2009-10-27 12:53:47)
Offline
Dnas la corbeille?
Offline
Attends... il y a une corbeille dans GLPI ????
Offline
Ben oui
Offline
oooookkkkk, alors ou-quelle-est ??
Vraiment désolé, je débute tout à fait dans glpi...
Offline