Nagis – Monitoritzant Windows

En aquest document començarem amb una cosa fàcil, vam monitoritzar el nostre primer equip amb Windows, sigui un Desktop o un Server. Monitoritzarem mitjançant SNMP el bàsic, sigui ús de CPU, Memòria RAM, Disc, Xarxa, Memòria YSarp i Ping. Amb això tindrem una primera base per després afegir més elements que necessitem a monitoritzar!!!

 

 

El primer serà lloar-nos a Centreon com a admin, i com ja tenim instal·lat Centreon Plugin Pack (ho vam veure en un post anterior), anirem a “Configuration” > “Hosts” > “Add”. I afegirem un nou host a monitoritzar, serà la nostra màquina Windows, i configurarem almenys les següents opcions:

  • Name: Nom de la màquina Windows.
  • Àlies: Àlies de la màquina Windows.
  • IP Address: Adreça IP o hostname fqdn de la màquina Windows.
  • SNMP Community & Version: Indicarem la comunitat SNMP i versió que posteriorment configurarem a la màquina Windows per permetre les consultes SNMP.
  • Monitored from: Central o el Poller més proper.
  • Template: Afegirem la plantilla que ja porta preconfigurats cada tots els serveis que monitoritzarà, triem “OS-Windows-SNMP-custom”.

 

Un cop afegit ho veiem, si canviem a la vista “Configuration” > “Services”, ja ens sortirà alguna cosa també.

 

Ara, haurem d'instal·lar a l'equip Windows el Servei SNMP, per a això, anirem a “Agregar o Treure característiques de Windows” i l'instal·larem. Un cop instal·lat, als Serveis de Windows ja disposarem d'un nou servei anomenat “Servei SNMP”. Si anem als seus “Propietats”, pestanya “Seguretat”, haurem d'afegir la comunitat SNMP i l'adreça IP o hostname del servidor Nagios que el monitoritzarà. Un cop aplicats els canvis, reiniciem el servei!

 

Bé, ara com sempre, haurem d'aplicar els canvis que fem a Centreon perquè generi els fitxers de Nagios i carregui la configuració. Anem a “Configuration” > “Pollers” > “Export configuration”

 

Seleccionem l'equip on volem aplicar els canvis, si a la Central, en un Poller en concret o en tots, això com que és un entorn petit només tinc 'Central', marquem els checks per generar la configuració, exportar fitxers i reiniciar el servei d' Engine, posem “Export” i si tot ha anat correcte no tindrem errors en el progrés!

 

Si anem a “Monitoring” > “Status Details” veurem ja que han sortit els serveis que monitoritzen aquest equip, forçam que en faci un checkeig des de “More actions…” > “Services: Schedule immediate check (Forced)”.

 

I res, ja tindrem alguna cosa, el que ens va carregar de la plantilla. En el meu cas CPU, Memòria RAM, Ping i Memòria Swap monitoritzat! Si no ens agraden els noms dels serveis, i em refereixo que posi en anglès 'Memory’ i volem renovar-los, anirem a “Configuration” > “Services”, el seleccionem i unicament n'hi haurà prou amb modificar-li la 'Descripció'. Si volem que això sigui una norma general i es faci per a tots els serveis futurs que creiem, ho modificarem a les 'Templates’ o plantilles dels Serveis.

 

Afegint els discos durs,

Com veiem, no m'ha generat el servei de monitoratge de disc, a les plantilles de servei sí que hi ha algun servei per a això, però sincerament no soc capaç de fer-lo funcionar. Per la qual cosa, em ve bé per exemple per explicar-vos com afegir i poder recolzar-nos perfectament d'un script de tercers. Descarregarem l'script 'check_win_snmp_storage.pl’ de https://exchange.nagios.org/directory/Plugins/Network-Protocols/SNMP/Enhanced-Windows-Disk-Check/details per poder monitoritzar els diferents discos durs que té cada Windows. Us recordo la web https://exchange.nagios.org per buscar qualsevol altre script del que sigui que necessiteu. Seguim, ho pugem com sempre amb WinSCP al directori dels plugins de Centreon '/usr/lib/centreon/plugins/’ i ho fem amb 'chmod +x check_win_snmp_storage.pl’ i podrem comprovar el següent des de la shell del Nagios que funciona a les mil maravelles:

[sourcecode]./check_win_snmp_storage.pl MAQUINA_WINDOWS COMUNITAT LETRA_DISCO %WARNING %CRITICAL[/sourcecode]

 

Per cert, aquest script li he modificat una línia, ja que no em generava gràfiques, podreu veure les diferències de la pantalla que us passo (és la línia 174). Bàsicament he ficat un pipe perquè generi la gràfica, uns 'punts i coma’ per separar les dades que retorna i canviat alguna cosa l'ordre, sense més.

 

I ja, un comando que vegem que ens funciona a la shell del Nagios, podrem donar-lo d'alta super fàcil a Centreon. Farem servir en commant que acabem d'executar a la shell, però ara li afegirem variables, etc., què millor que veure aquest exemple. Anem a “Configuration” > “Commands” > “Add” per crear un comandament a Centreon. Ull, que també podrem clonar-lo d'un altre comandament i només canviar els valors que ens interessi (ja que igual tenim configurats els temps de checkeig, o el tipus de notificació, o horari…). Bo, indiquem un nom, com us he dit en alguna altra ocasió, m'agrada anomenar-los igual que el comandament que s'executa, en aquest exemple 'check_win_snmp_storage.pl'. I a 'Command Type’ posarem doncs l'script que haurà d'executar, en aquest cas:

[sourcecode]$CENTREONPLUGINS$/check_win_snmp_storage.pl $HOSTADDRESS$ $_HOSTSNMPCOMMUNITY$ $ARG 1$ $ARG 2$ $ARG 3$[/sourcecode]

 

Polsarem ara en “Descriu arguments”,

 

indicarem què significa cada argument, per quan creiem a continuació (i en el futur) el servei, sàpiga què significa cada paràmetre. En aquest exemple l'Argument 1 és la lletra del disc a monitoritzar, l'Argument 2 és el valor en percentatge del Warning i l'Argument 3 serà el valor en percentatge del Critical. “Save”.

 

Ara, si creem el servei que ha de monitoritzar un disc dur, anem a “Configuration” > “Services” > “Add” o clonem d' un servei existent (és el més còmode, ho veureu segons vau fer servir Centreon, ja que després amb modificar el comandament que executa el servei i el nom n'hi hauria prou). Al torron, servei de monitoratge de disc tindrà el següent:

  • Descripció: Serà el nom que veurem quan es monitoritzi, en aquest cas 'Disc X'.
  • Linked with hosts: Aquí associarem aquest servei a les nostres màquines Windows que ens interessi, en aquest cas meto 2 equips que tenen un disc dur X:\.
  • Template: Seleccionem 'generic-active-service-custom', que normalment, haurem modificat a l'inici del desplegament de Nagios amb les configuracions base que farem servir en aquests serveis que anirem creant (això ho vam veure en un document inicial).
  • Check Command: Seleccionem el comandament que acabem de definir a Centreon, el que monitoritzarà l' ús de disc, en seleccionar 'check_win_snmp_storage.pl’ ens sortirà a baix els arguments que ens demana aquest comandament i hem d'afegir (els ArgsXX).
  • Arguments: Serà el que el comandament espera que afegim perquè s'executi correctament, en aquest cas, el comandament demana la lletra del disc, el valor en % per a un avís de Warning i el % per a un avís Critico.

 

La resta podrem deixar com està per defecte, ja que l'hereta de la plantilla que triem. Crearem tants serveis de disc com necessitem, siguin discos C, D, E… i els associarem cadascun d'ells a cada Windows que monitoritzem!

 

Monitoritzant el trànsit de xarxa,

Si també volem conèixer el trànsit de xarxa dels equips, podrem aprofitar-nos d'un script que ja existeix al nostre Nagios, parlem de l'script 'check_centreon_snmp_traffic’ que estarà al directori dels plugins de Nagios (/usr/lib/nagios/plugins/).

 

Per la qual cosa si anem per shell a aquest directori i executem el següent comandament, veurem el trànsit de xarxa d'una màquina, en aquest cas estava ficat-li traïda a l'equip perquè vegem el throughput que escup… El comandament demanarà primer l'hostname o adreça IP de l'equip a consultar, seguit del nom de la comunitat SNMP, afegirem el nom de l'adaptador de xarxa de l'equip, posteriorment els valors de Warning i Crítical en %, la versió de SNMP, normalment 2 i per últim, haurem d' especificar la velocitat d' aquesta NIC, en aquest cas va a gigabit així que li deixo en 1000. Exemple del comandament:

[sourcecode]/usr/lib/nagios/plugins/check_centreon_snmp_traffic -H MAQUINA_WINDOWS -CN -n -i "NOMBRE_NIC" -w WARNING -c CRITICAL -v VERSION_SNMP -T VELOCIDAD_MAX[/sourcecode]

 

Ull! que si executem aquest comandament, ho estem fent com a 'root', per tant, després a Centreon, veurem que tindrem un error de permisos, ja que el fitxer de caixet que crearà per a aquest host ho fa amb permisos de root, i l'usuari de Centreon no tindrà accés, la caixet la genera a '/var/lib/centreon/centplugins/’ amb un nom d'arxiu tipus 'traffic_cache_192.168.43.77', per la qual cosa amb un xown li donarem accés si és necessari a l'usuari 'centreon’ (o directament esborrem la caixet i que la torni a crear). És per si se us dona el cas. I si voleu llegir com s'anomena la vostra NIC, en fer un 'cat’ sobre l'arxiu de caixet, veurem totes les interfícies de xarxa que té aquest equip.

 

Bo, després de provar l'anterior, que no és necessari, ja que si seguim aquests passos ja ens valdrà, però no haurem jugat amb la shell… Creem doncs el comandament de Centreon que utilitzarem després en el servei que ha de monitoritzar el trànsit de xarxa, com sempre, indiquem un nom i la següent línia de comandaments que executarà:

[sourcecode]/usr/lib/nagios/plugins/check_centreon_snmp_traffic -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -n -i $ARG1$ -w $ARG2$ -c $ARG3$ -v $ARG4$ -T $ARG5$[/sourcecode]

 

Posem “Descriu arguments” para especificar lo que serán los parámetros y al crear el servicio lo asociemos más fácilmente.

 

En este comando, si vemos lo que escribimos en la shell con lo que nos pide, será fácil, l'Argument 1 será el nombre de la Interfaz de red o NIC, l'Argument 2 será el valor en % de Warning, l'Argument 3 será el del Critical, l'Argument 4 será la versión de SNMP (que podíamos haber puesto un 2 en el comando si siempre usaremos dicha versiony quitar este argumento), y por último el Argumento 5 será la velocidad máxima de la NIC. “Save”,

 

Momento de crear ya el servicio que va a monitorizar el tráfico de red de una máquina concreta! Anem a “Commands” > “Services” > “Add” (o el que s' ha dit, clonar de otro y modificar). Y añadiremos lo siguiente:

  • Description: Lo de siempre, el nombre del servicio tal y como lo veremos cuando se monitorice.
  • Linked with Hosts: Indicamos el host al que asociaremos este servicio.
  • Template: Como casi siempre, usamos ‘generic-active-service-custom’.
  • Check Command: Seleccionamos el comando que acabamos de crear que usaremos para obtener la información de red. Rellenaremos también los argumentos que nos pida este comando, que sabemos que son: El nombre de la tarjeta de red a monitorizar, el valor numérico para el Warning (normalment 80) & Critical (normalment 90), la versió de SNMP (normalment 2) y la velocidad de la NIC.

 

Posem en “Save” i bo, podremos ya guardar nuestros cambios en Centreon, hacemos como al inicio del documento cuando exportamos la configuración a Nagios & reiniciamos el servicio para cargar esta nueva configuración.

 

Volvemos a la pestaña de “Monitoring” > “Status Details” > “Services” y ahí veremos ya los servicios que hemos generado, esperamos pues ya a que Nagios ejecute los testeos y veamos el resultado de la monitorización en el Windows. Com sempre, sabemos que no hace falta esperar, que podremos seleccionar desde el ‘tickde la columna de la izquierda, y en ‘More actions…’ seleccionar ‘Services – Schedule immediate check (Forced)’ y forzaremos pues que monitorice estos elementos!

 

Y si todo ha ido bien, ahora sí que tenemos monitorizado un equipo Windows básicamente, veremos en las gráficas los consumos de red, así como el uso de CPU, Disc, RAM o Swap. Y como digo esto es lo básico, no? Luego iremos añadiendo más cosas que necesitemos como son por ejemplo la monitorización de los servicios que ofrezca dicha máquina, etc.… ya lo veremos más adelante!!!

 

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!