Monitorare la RAM su un dispositivo Cisco mediante SNMP

Creato il 10 febbraio 2011 da Nightfly

Per visualizzare la RAM installata su un qualsiasi dispositivo Cisco è sufficiente lanciare il comando sh ver:

Router# sh ver

La parte di output che ci interessa è simile alla seguente:

Cisco 2851 (revision 53.51) with 249856K/12288K bytes of memory.

Il primo valore, ovvero 249856K indica la memoria libera, mentre il secondo, ovvero 12288K, indica la memoria utilizzata. Sommando dunque questi due valori otterremo la dimensione totale della RAM installata sul dispositivo (in tal caso 256 MB).

Ora, vogliamo monitorare, mediante SNMP, la RAM libera e quella in uso. Per fare ciò è possibile utilizzare i seguenti OID:

.1.3.6.1.4.1.9.9.48.1.1.1.5.1 (per la memoria libera)

.1.3.6.1.4.1.9.9.48.1.1.1.5.2 (per la memoria attualmente in uso)

Definiamo ora il comando per monitorare la memoria in uso e la memoria libera attraverso delle query SNMP:

nightfly@nightbox:~$ cd /etc/nagios-plugins/config

nightfly@nightbox:~$ sudo nano snmp.cfg

inseriamo la direttiva:

'snmp_cisco_memory_usage' command definition
define command {
command_name   snmp_cisco_memory_usage
command_line   /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -o '$ARG1$','$ARG2$' -w '$ARG3$','$ARG4$' -c '$ARG5$','$ARG6$' -u "bytes,bytes" -l "Memory" -C '$ARG7$'
}

In particolare, la flag -l serve per definire una label, la flag -u indica l'unità di misura a cui si riferisce l'output della query, la flag -w specifica le soglie di warning per la memoria libera ed in uso, la flag -c specifica le soglie di critical per la memoria libera ed in uso.

Non ci resta che aggiungere il servizio per il monitoraggio della RAM all'interno del file in cui è definito l'host Cisco:

nightfly@nightbox:~$ cd /etc/nagios3/conf.d

nightfly@nightbox:~$ sudo nano host-cisco_nagios3.cfg

Inseriamo quanto segue:

define service {
use   generic-service   ; Name of service template to use
host_name   Cisco
service_description   Cisco memory usage check
check_command   snmp_cisco_memory_usage!.1.3.6.1.4.1.9.9.48.1.1.1.5.1,
.1.3.6.1.4.1.9.9.48.1.1.1.5.2!140000000,10000000!100000000,12000000!vostracommunitystring
}

Riavviamo nagios:

nightfly@nightbox:~$ sudo service nagio3 restart

ed abbiamo finito.

A presto.