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 in uso e quella libera. 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 attualmente in uso dal processor pool)
.1.3.6.1.4.1.9.9.48.1.1.1.5.1
(per la memoria attualmente in uso dall’I/O pool)
.1.3.6.1.4.1.9.2.1.8.0
(per la memoria libera)
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$','$ARG3$' -w '$ARG4$','$ARG5$','$ARG6$' -c '$ARG7$','$ARG8$','$ARG9$' -u "bytes,bytes,bytes" -l "Memory" -C '$ARG10$' }
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,.1.3.6.1.4.1.9.2.1.8.0!140000000,10000000!60000000:!100000000,12000000!20000000:!vostracommunitystring }
dove i : dopo la soglia di warning 6000000 e quella di critical 40000000 indicano rispettivamente <60000000 e <40000000 (poichè abbiamo a che fare con la memoria libera).
Riavviamo Nagios:
nightfly@nightbox:~$ sudo service nagio3 restart
ed abbiamo finito.
A presto.