Construint plugins per a Nagios Part 1 de 2

Una de les característiques més interessants de Nagios (i tots els seus forks) és la capacitat d'integrar qualsevol plugin. Un plugin no és més que un script o aplicació que ens retorna un resultat en un format determinat.

Vegem doncs que podem fer i com. Així que anem a pams:

1. Anàlisi de necessitat. El primer que hem de fer és analitzar la necessitat real de monitoratge d'un element qualsevol. És molt important saber si el que monitorarem realment ens aporta alguna cosa més que mera informació. Afegir elements a monitorar pel simple fet d'afegir-los no ens solucionarà la vida, més aviat el contrari ens pot arribar a dificultar el treball del dia a dia. Per exemple: Tenim una base de dades de Cache Intersystems. Aquesta base de dades incorpora part del cor del negoci. D'altra banda no disposem en el departament d'un expert en administració d'aquesta plataforma, amb la qual cosa tenim contractats uns serveis. Com deurem nosaltres obrir incidències amb el proveïdor de serveis, i no disposem d'un coneixement de la plataforma, en aquest cas si valorem positivament monitorar.

2. Anàlisi de monitoratge. Ara que tenim clar la necessitat, analitzarem que volem monitorar. El primer que cal analitzar són les eines on el departament de TU introdueix les incidències. Només amb aquesta anàlisi veurem que ens interessa monitorar. L'objectiu és monitorar els elements de la plataforma que ens generen incidències, o que són de vital importància per al negoci. Seguim l'exemple anterior: Per al nostre negoci Cache Intersystems és una peça angular. Molts usuaris accedeixen a aquesta base de dades, i com disposa d'un sistema de llicències, i sabem que ens movem en el límit (si no és així és que alguna cosa no està bé) monitorarem el seu ús. D'altra banda analitzant les incidències dels últims mesos ens adonem que moltes vegades ens hem quedat sense espai, però no en el disc, si no en la base de dades (tenim programat un creixement manual), aquest és un altre element a monitorar.

3. Com monitorarem. Una vegada que sabem què anem pel com. Aquí és de vital importància conèixer la tecnologia que monitorarem. Podem llegir guies, buscar informació, posar-nos en contacte amb proveïdors o directament amb el fabricant. Només si coneixem el que volem monitorar podem fer-ho correctament. En el nostre exemple: Cache Intersystems disposa de ODBC (i altres formes de connexió a la base de dades), SNMP, fins i tot XML que ens retornen l'estat de la plataforma. Esbrinem que activar el SNMP una vegada la plataforma està en funcionament pot requerir el seu reinici (una cosa molesta per al negoci), però esbrinem que amb XML no fa falta detenir el servei (i requereix de menys treball per a l'administrador). Així doncs la nostra elecció és monitorar per XML.

4. Cerca si ja existeix alguna cosa. Sembla evident que quan ja sabem què i com que busquem si ja existeix alguna cosa. A vegades fem les coses a l'inrevés, primer mirem que hi ha per a després veure que ens ofereix, i això és un error, sempre acabarem monitorant coses que no ens serveixen i no tindrem el que necessitem. Exemple: Per a Cache Intersystems no existeix un plugin que accedeixi al XML i ens permeti recollir valors d'espai de bases de dades o ús de llicències. Queda clar que passa per fer alguna cosa en aquest cas.

5. Seleccionem tecnologia per al nostre plugin. Bé, aquí tenim diverses opcions. D'entrada explicar que qualsevol tecnologia ens pot funcionar bé, perquè l'única condició és que ens retorni la sortida en un determinat format. Ruby, PHP, Perl, scripting, C, la qual cosa vulguem. Però tindrem en compte un parell de coses: la primera és que el nostre entorn d'instal·lació serà molt probablement una distribució Linux, amb el que usar ASP per exemple no és una molt bona elecció. La segona consideració és que Nagios usa Perl, amb el que en la majoria dels casos el servidor on anem a instal·lar el plugin ja el tindrem preparat. Si ens decidim per triar per exemple PHP haurem de tenir les eines per a PHP instal·lades. En el nostre exemple: ens decantem per Perl, ja que ja ho tindrem instal·lat en el servidor i a més disposa d'un tractament fàcil per a XML.

Bo ara que tenim clar el que necessitem i com ho necessitem, només ens falta posar-nos a la feina.

Veure més noticies