Nagios – Monitorizando Windows
En este documento comenzaremos con algo fácil, vamos a monitorizar nuestro primer equipo con Windows, sea un Desktop o un Server. Monitorizaremos mediante SNMP lo básico, sea uso de CPU, RAM memoria, Diskoa, Red, Memoria Swap y Ping. Con esto tendremos una primera base para luego añadir más elementos que necesitemos a monitorizar!!!
Lehenik eta behin Centreon-era sartu beharko dugu admin gisa, eta dagoeneko Centreon Plugin Pack instalatuta dugulako (lo vimos en un post anterior), joango gara “Konfigurazioa” > “Hosts” > “Gehitu”. Eta host berri bat gehituko dugu monitorizatzeko, gure Windows makina izango da, eta gutxienez honako aukerak konfiguratu egingo ditugu:
- Izena: Windows makinaren izena.
- Alias: Windows makinaren alias-a.
- IP helbidea: Windows makinarentzako IP helbidea edo hostname fqdn.
- SNMP komunitatea & Version: SNMP komunitatea eta bertsioa adieraziko ditugu, eta geroago Windows makinaren konfigurazioan SNMP kontsultak egiteko onartuko dugu.
- Monitored from: Central edo Poller hurbilenari.
- Txantiloia: Aurrez konfiguratutako plantilla gehituko dugu, monitorizatuko dituen zerbitzu guztiak barne, escogemos “OS-Windows-SNMP-custom”.
Gehitu ondoren ikusten dugu, ikuspegia aldatzen badugu “Konfigurazioa” > “Zerbitzuak”, zerbait aterako zaigu ere.
orain, deberemos instalar en el equipo Windows el Servicio SNMP, horretarako, joango gara “Agregar o Quitar características de Windows” y lo instalaremos. Behin instalatuta, en los Servicios de Windows ya dispondremos de un nuevo servicio llamado “Servicio SNMP”. Si vamos a sus “Propiedades”, fitxa “Segurtasuna”, deberemos agregar la comunidad SNMP y la dirección IP o hostname del servidor Nagios que le monitorizará. Una vez aplicados los cambios, reiniciamos el servicio!
Ondo, ahora como siempre, deberemos aplicar los cambios que hicimos en Centreon para que genere los ficheros de Nagios y cargue la configuración. Joango gara “Konfigurazioa” > “Pollers” > “Konfigurazioaren esportazioa”
Seleccionamos el equipo donde queremos aplicar los cambios, si en la Central, en un Poller en concreto o en todos, esto al ser un entorno pequeño sólo tengo ‘Central’, marcamos los checks para generar la configuración, exportar ficheros y reiniciar el servicio de Engine, Sakatu “Export” eta dena ondo joan bada ez dugu arazorik izango aurrerapenean!
Si vamos a “Monitorizazioa” > “Egoera Xehetasunak” ikusi egingo dugu zerbitzuak irten diren ekipamendu hori monitorizatzen dutenak, indartu egiten dugu horien egiaztapena egiteko hemen “More actions…” > “Zerbitzuak: Egunerako egiaztapen berehalakoa (Indartutako)”.
Eta ezer, jakin egingo dugu zerbait duela, plantillatik kargatu zigun hori. Nire kasuan CPU, RAM memoria, Ping eta Memoria Swap monitorizatuta! Ez badizkigu gustatzen zerbitzuen izenak, eta ingelesez 'Memory' jar dezala esaten dut’ eta berriz izendatu nahi baditugu, joango gara “Konfigurazioa” > “Zerbitzuak”, hautatu egiten dugu eta nahikoa izango da 'Deskribapena' aldatzea. Norma orokor bat izan dadin eta sortuko ditugun etorkizuneko zerbitzu guztientzat egin dadin, 'Plantilla'etan aldatu egingo dugu’ edo Zerbitzuen Plantillak.
Disko gogorrak gehituz,
Ikusten dugun bezala, ez dit disko monitorizazio zerbitzua sortu, en las plantillas de servicio sí que hay algún servicio para esto, pero sinceramente no soy capaz de hacerlo funcionar. Horregatik, me viene bien por ejemplo para explicaros cómo añadir y poder apoyarnos perfectamente de un script de terceros. Descargaremos el script 'check_win_snmp_storage.pl’ de https://exchange.nagios.org/directory/Plugins/Network-Protocols/SNMP/Enhanced-Windows-Disk-Check/details para poder monitorizar los distintos discos duros que tiene cada Windows. Os recuerdo la web https://exchange.nagios.org para buscar cualquier otro script de lo que sea que necesitéis. Seguimos, lo subimos como siempre con WinSCP al directorio de los plugins de Centreon '/usr/lib/centreon/plugins/’ y lo hacemos ejecutable con 'chmod +x check_win_snmp_storage.pl’ y podremos comprobar ejecutando lo siguiente desde la shell del Nagios que funciona a las mil maravillas:
[sourcecode]./check_win_snmp_storage.pl MAQUINA_WINDOWS KOMUNITATEA LETRA_DISCO %WARNING %CRITICAL[/sourcecode]
Bestela, script honetan lerro bat aldatu dut, grafikoak ez zidala sortzen zegoelako, pantailako desberdintasunak ikusiko dituzue pasatzen dizuedan irudian (lerroa da 174). Orokorrean pipe bat sartu dut grafikoa sortzeko, puntu eta koma batzuk’ itzulitako datuak bereizteko eta ordena pixka bat aldatu dut, horrez gain ez dago gehiago.
Eta horrela da, Nagiosen shell-ean funtzionatzen duen komando bat ikusi ondoren, Centreon-en super erraz gaitu dezakegu. Exekutatu berri dugun komandoa erabiliko dugu shell-ean, baina orain aldagaiak gehituko dizkiogu, eta abar, zer hoberik adibide hau ikustea baino. Joango gara “Konfigurazioa” > “Commands” > “Gehitu” Centreon-en komando bat sortzeko. Ojo, beste komando batetik klonatu eta interesatzen zaizkigun balioak bakarrik aldatu ahal izango ditugu ere (ya que igual tenemos configurados los tiempos de checkeo, o el tipo de notificación, u horario…). Onena, izena adierazten dugu, como os he dicho en alguna otra ocasión, me gusta llamarles igual que el comando que se ejecuta, en este ejemplo ‘check_win_snmp_storage.pl’. Y en ‘Command Type’ pondremos pues el script que deberá ejecutar, kasu honetan:
[sourcecode]$CENTREONPLUGINS$/check_win_snmp_storage.pl $HOSTADDRESS$ $_HOSTSNMPCOMMUNITY$ $ARG1$ $ARG2$ $ARG3$[/sourcecode]
Pulsaremos ahora en “Describe arguments”,
indicaremos qué significa cada argumento, para cuando creemos a continuación (y en el futuro) el servicio, sepamos qué significa cada parámetro. En este ejemplo el Argumento 1 es la letra del disco a monitorizar, el Argumento 2 es el valor en porcentaje del Warning y el Argumento 3 será el valor en porcentaje del Critical. “Gorde”.
orain, zerbitzu bat sortzen badugu disko gogor bat monitorizatzeko, vamos a “Konfigurazioa” > “Zerbitzuak” > “Gehitu” edo zerbitzu existentetik klonatzen badugu (oso erosoa da, ikusi ahal izango duzue Centreon erabiltzen joan ahala, ondoren nahikoa izango litzateke zerbitzuak exekutatzen duen komandoa eta izena aldatzea). Al turron, Diskoaren monitorizazio zerbitzuak honako hau izango du:
- Descripción: Monitorizatzen denean ikusiko dugun izena izango da, kasu honetan 'Disco X'.
- Host-ekin lotuta: Hemen zerbitzu hau gure Windows makinak interesatzen zaizkigunekin lotuko dugu, kasu honetan sartzen dut 2 disko gogor X duten ekipamenduak:\.
- Txantiloia: 'generic-active-service-custom' hautatzen dugu, normalean, Nagios despleguaren hasieran oinarrizko konfigurazioekin aldatu dugu zerbitzu hauek sortzeko (esto lo vimos en un documento inicial).
- Check Command: Seleccionamos el comando que acabamos de definir en Centreon, el que monitorizará el uso de disco, al seleccionar 'check_win_snmp_storage.pl’ nos saldrá abajo los argumentos que nos pide este comando y debemos añadir (los ArgsXX).
- Argumentos: Será lo que el comando espera que añadamos para que se ejecute correctamente, kasu honetan, el comando pide la letra del disco, el valor en % para un aviso de Warning y el % para un aviso Critico.
Lo demás podremos dejar como está por defecto, ya que lo hereda de la plantilla que escogemos. Crearemos tantos servicios de disco como necesitemos, sean discos C, D, E… y los asociaremos cada uno de ellos a cada Windows que monitorizamos!
Monitorizando el tráfico de red,
Si también queremos conocer el tráfico de red de los equipos, podremos aprovecharnos de un script que ya existe en nuestro Nagios, hablamos del script ‘check_centreon_snmp_traffic’ que estará en el directorio de los plugins de Nagios (/usr/lib/nagios/plugins/).
Por lo que si vamos por shell a dicho directorio y ejecutamos el siguiente comando, veremos el tráfico de red de una máquina, en este caso estaba metiéndole traya al equipo para que veamos el throughput que escupe… El comando pedirá primero el hostname o dirección IP del equipo a consultar, seguido del nombre de la comunidad SNMP, añadiremos el nombre del adaptador de red del equipo, posteriormente los valores de Warning y Crítical en %, la versión de SNMP, normalmente 2 y por último, deberemos especificar la velocidad de dicha NIC, en este caso va a gigabit así que le dejo en 1000. Ejemplo del comando:
[sourcecode]/usr/lib/nagios/plugins/check_centreon_snmp_traffic -H MAQUINA_WINDOWS -C COMUNIDAD -n -i "NOMBRE_NIC" -w WARNING -c CRITICAL -v VERSION_SNMP -T VELOCIDAD_MAX[/sourcecode]
Ojo! que si ejecutamos este comando, lo estamos haciendo como 'root', Beraz, luego en Centreon, veremos que tendremos un error de permisos, ya que el fichero de caché que creará para este host lo hace con permisos de root, y el usuario de Centreon no tendrá acceso, la caché la genera en '/var/lib/centreon/centplugins/’ con un nombre de archivo tipo 'traffic_cache_192.168.43.77', por lo que con un chown le daremos acceso si es necesario al usuario 'centreon’ (o directly borramos la caché y que la vuelva a crear). Es por si se os da el caso. Y si queréis leer como se llama vuestra NIC, al hacer un 'cat’ sobre el archivo de caché, veremos todas las interfaces de red que tiene dicho equipo.
Onena, tras probar lo anterior, que no es necesario, ya que si seguimos estos pasos ya nos valdrá, pero no habremos jugado con la shell… Creamos pues el comando de Centreon que utilizaremos luego en el servicio que va a monitorizar el tráfico de red, como siempre, indicamos un nombre y la siguiente línea de comandos que ejecutará:
[sourcecode]/usr/lib/nagios/plugins/check_centreon_snmp_traffic -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -n -i $ARG 1$ -w $ARG 2$ -c $ARG 3$ -v $ARG 4$ -T $ARG 5$[/sourcecode]
Sakatu “Describe arguments” Parametroak zehazteko eta zerbitzua sortzean errazago lotzeko.
Komando honetan, shell-ean idatzi duguna eskatzen digunarekin alderatzen badugu, erraza izango da, el Argumento 1 Sareko Interfaze edo NICaren izena izango da, el Argumento 2 honako balioa izango da % Warning-en, el Argumento 3 Critical-en balioa izango da, el Argumento 4 SNMP-ren bertsioa izango da (jarri ahal izan genukeen 2 komandoan beti bertsio hori erabiliko bagenu… eta argumentu hau kentzea), eta azkenik Argumentua 5 NICaren abiadura maximoa izango da. “Gorde”,
Zerbitzua sortzeko unea da, makinaren sareko trafikoa monitoreatuko duena! Joango gara “Commands” > “Zerbitzuak” > “Gehitu” (edo esan bezala, beste batetik klonatu eta aldatu). Eta honako hau gehituko dugu:
- Deskribapena: Betiko bezala, zerbitzuaren izena, monitoreatzen denean ikusiko dugun bezala.
- Gurekin lotutako Host-ak: Indicamos el host al que asociaremos este servicio.
- Txantiloia: 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 (normalmente 80) & Larrialdia (normalmente 90), la versión de SNMP (normalmente 2) y la velocidad de la NIC.
Sakatu on “Gorde” eta bueno, 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 “Monitorizazioa” > “Egoera Xehetasunak” > “Zerbitzuak” 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. Betiko moduan, sabemos que no hace falta esperar, que podremos seleccionar desde el ‘tick’ de la columna de la izquierda, y en ‘More actions…’ seleccionar ‘Services – Egunerako egiaztapen berehalakoa (Indartutako)’ 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, Diskoa, RAM o Swap. Y como digo esto es lo básico, ez? Luego iremos añadiendo más cosas que necesitemos como son por ejemplo la monitorización de los servicios que ofrezca dicha máquina, eta abar… ya lo veremos más adelante!!!


























































