[comment]: # (tags: mib, snmp)

[comment]: # ({8afcd82f-8afcd82f})
# 3 Arxius MIB

[comment]: # ({/8afcd82f-8afcd82f})

[comment]: # ({80a94110-f224bb08})
#### Introducció

Els arxius MIB (Management Information Base) ens permeten emprar una representació textual de l'OID (Object Identifier). És possible emprar OIDs en brut quan es monitoren dispositius SNMP amb Zabbix, però si us sembla més còmode emprar una representació textual, heu d'instal·lar els arxius MIB.

Per exemple,

     ifHCOutOctets

és una representació textual de l'OID

     1.3.6.1.2.1.31.1.1.1.10

[comment]: # ({/80a94110-f224bb08})

[comment]: # ({7b2aa063-5aed9e1b})
#### Instal·lar fitxers MIB

Sota sistemes basats en Debian:

    apt install snmp-mibs-downloader
    download-mibs

Sota sistemes basats en RedHat:

    dnf install net-snmp-libs

[comment]: # ({/7b2aa063-5aed9e1b})

[comment]: # ({02b2b423-5346f669})
#### Activació d'arxius MIB

Sota sistemes basats en RedHat, els arxius MIB s'han d'activar per defecte. Sota sistemes basats en Debian, hem d'editar l'arxiu `/etc/snmp/snmp.conf` i treure el comentari a la línia on hi diu `mibs :`

    # As the snmp packages come without fichiers MIB due to license reasons, loading
    # of MIBs is disabled by default. If you added the MIBs you can reenable
    # loading them by commenting out the following line.
    mibs :

[comment]: # ({/02b2b423-5346f669})

[comment]: # ({4bbacb8e-bb4c3c1f})
#### Provant els arxius MIB

La prova SNMP MIBs es pot fer emprant la utilitat `snmpwalk`. Si no la tenim instal·lada, podem fer-ho així.

A sistemes basats en Debian:

    apt install snmp

A sistemes basats en RedHat:

    dnf install net-snmp-utils

Després d'això, la següent comanda no donarà error quan consultem un dispositiu de xarxa:

    $ snmpwalk -v 2c -c public <NETWORK DEVICE IP> ifInOctets
    IF-MIB::ifInOctets.1 = Counter32: 176137634
    IF-MIB::ifInOctets.2 = Counter32: 0
    IF-MIB::ifInOctets.3 = Counter32: 240375057
    IF-MIB::ifInOctets.4 = Counter32: 220893420
    [...]

[comment]: # ({/4bbacb8e-bb4c3c1f})

[comment]: # ({9e9f20b6-87dbd7d4})
#### Emprar MIB amb Zabbix

El més important a tindre en compte és que els processos Zabbix no s'informen pas de les modificacions que es facin als arxius MIB. Per tant, després de cada modificació, haureu de reiniciar el servidor o el proxy Zabbix; per exemple:

     systemctl restart zabbix-server

Després d'això, les modificacions aportades als arxius MIB es tindran en compte.

[comment]: # ({/9e9f20b6-87dbd7d4})

[comment]: # ({2a393106-efd836b8})
#### Ús d'arxius MIB a mida

Els arxius MIB estàndard vénen amb cada distribució GNU/Linux. Però alguns fabricants de perifèrics proporcionen els seus propis.

Suposem que ens cal emprar l'arxiu MIB de [CISCO-SMI](ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my). Les instruccions següents el descarregaran i instal·laran:

    wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my -P /tmp
    mkdir -p /usr/local/share/snmp/mibs
    grep -q '^mibdirs +/usr/local/share/snmp/mibs' /etc/snmp/snmp.conf 2>/dev/null || echo "mibdirs +/usr/local/share/snmp/mibs" >> /etc/snmp/snmp.conf
    cp /tmp/CISCO-SMI.my /usr/local/share/snmp/mibs

Ara l'hauríem de poder emprar. Provem a traduir el nom de l'objecte *ciscoProducts* de l'arxiu MIB a OID:

    snmptranslate -IR -On CISCO-SMI::ciscoProducts
    .1.3.6.1.4.1.9.1

Si reben errors a l'enllaç de l'OID, assegurem-nos que totes les comandes precedents no retornen cap error.

La traducció del nom d'objecte ha funcionat, ara podem emprar l'arxiu MIB a mida. Veieu que s'empra el prefixe del nom MIB (*CISCO-SMI::*) a la consulta. Ens caldrà això quan emprem tant la línia de comandes com Zabbix.

No oblideu pas reiniciar el servidor/proxy Zabbix abans d'emprar l'arxiu MIB a Zabbix.

::: noteimportant
Penseu que els arxius MIB poden tindre dependències. És a dir, que un MIB pot haver-ne de menester un altre. Per complir les dependències, haurem d'instal·lar tots els arxius MIB afectats.
:::

[comment]: # ({/2a393106-efd836b8})
