Está en la página 1de 45

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Nagios: Herramientalibreparala monitorizacindeSistemas


EduardoGonzlezdelaHerrn NHTNorwick(http://www.nhtnorwick.com)
egonzalez@nhtnorwick.com Febrero2005

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Resumendecontenidos

PresentacindeNagioscomosolucinalproblemadela monitorizacindeSistemasyRed. PosibilidadesdelaplataformaparaunaPyme. InstalacinyConfiguracininicialdeNagios. Ficherosdeconfiguracin. Consolawebdemonitorizacin. Escalabilidad,personalizacin,pluginsyaddons. Demostracin,ejemplosyconclusiones.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(I)

UtilidadyNecesidaddeunbuensistemade monitorizacindeservicios,hostsyred.

Permitedesarrollarunaestrategiaproactivaantedeterminados problemasfrentealtpicoenfoquereactivo. Liberaalosadministradoresderealizarchequeosperidicosa determinadosservicioscrticos. Alertasituacionessobrelasquetardaramosmuchoendarnos cuentaenotrascircunstancias.Llenadodefilesystems, perdidasdeservicio,etc.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(II)

Herramientasdemonitorizacin:

Aplicacionessencillasdeescritoriocomonetoscope,mars,etc:

Orientadassloalchequeodepuertos. Muyfcilesdeutilizarperopocoadaptablesanuestrasnecesidades. Softwareprivativoconlicenciasbaratasysoftwarelibre.

Sniffers,analizadoresdered:tcpdump,ettercap,ethereal, iptraff,etc.

Muytilesenlaresolucinyanlisisdeproblemas,perono aconsejadosparaelusohabitualenlamonitorizacin.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(III)

Herramientasdemonitorizacin:

MacrosistemasdemonitorizacincomplejoscomoHP Openview,Tivoli,etc.

Aplicacionesmuypotentesqueconsumenmuchosrecursos. Licenciasdesorbitadaseinaccesiblesonoreentablesparamuchas empresas. Funcionalidadesnonecesariasennumerososentornos. Pocoflexibles.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(IV)

Herramientasdemonitorizacin:

SistemasdemonitorizacincompletosbasadosenSoftware Libre(Nagios):

Cubrennecesidadesbsicasdeformasencilla. Completamenteadaptablesymodificablesparanecesidades especficas. Fcilintegracinconscriptsyaplicacionesexternas. Licencialibre.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(V)

QuesNagios?

NagiosesunaaplicacinparalamonitorizacindeRedySistemas escritaporEthanGalstad. Nagiosvigilaconstantementehosts,serviciosycualquiercosaque definamosalertndonoscuandoaparecenlosproblemasycuando sesolucionan. NagiosestescritoenCyesSoftwareLibre(LicenciaGPLversin 2). Nagiosesmuyflexibleyadaptableacualquiersituacino necesidad.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(VI)

CaractersticasprincipalesdeNagiosversin1.2:

Monitorizacindeserviciosdered:SMTP,POP3,HTTP,SSH,DNS, etc. Monitorizacinderecursos:Cargadeprocesador,espaciolibreen filesystems,usodelamemoria,etc. Capacidaddedesarrollarpluginsdeformasencillaquepermitealos usuariosprogramarsuspropioschequeos.Flexibilidad!! Capacidaddedefinirunatopologaojerarquaderedquepermita distinguirentreservicioscaidosoinaccesibles.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PresentacindeNagios(VII)

CaractersticasprincipalesdeNagiosversin1.2:

Envodenotificacionesmediantemltiplesmtodoscuandolos problemasaparecenycuandoseresuelven(vaemail,SMS,im, alertassonoras,...).Flexibilidad!! Capacidaddedefinireventosparaqueseejecutenencasode problemas,loquepermiteutilizarunaestrategiaproactivaenla resolucindeproblemas. Consolawebparalavisualizacindelestadoactualdetodoslos servicios,generacindeestadsticas,historialdealarmas,etc. Soportedebasesdedatosparaelalmacenamientodedatos externos(pordefectoseutilizanficherosdetexto).

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PosibilidadesdelaplataformaparaunaPYME

Comoservicioparalapropiaempresa:

Lamonitorizacindelaredayudaaprevenirproblemasya obtenertiemposderespuestamenoresanteincidencias. UnniveldeconocimientoaltodeNagiosvaapermitirofrecer serviciosdeconsultora,desarrollosamedidaeimplantacina clientes. Serviciodemonitorizacinatercerossobreunaplataforma existente.

Comonegocio:

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(I)

Consejosgenerales.

Paciencia:Lainstalacinyconfiguracincompletanoesun procesofcil.Requiereuntiempodeaprendizaje. Leerladocumentacinoficial:Nagiostieneunadocumentacin muyextensaydetallada.IntentarconfigurarNagiostrasleerla documentacinessuficientementedifcilcomoparano intentarlosinhaberlaleido. Utilizarlosficherosdeconfiguracindeejemplo:Estosficheros ayudanaconocerlasintaxis.Editndolosaprenderemosms rpido(peronolimitarsealosficherosdeejemplo).

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(II)

Instalacin:Requisitosprevios.

RequerimientosSoftware:

Elrequerimientoprincipalesunamquinaejecutandoelsistema operativoGNU/LinuxyuncompiladordeC. Apache. LibrerasgrficasGD,JPEGyPNG. (opcionales)SNMP,MySQLoPostgreSQL.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(III)

Instalacin:Resumen.

InstalacindeNagios(bajndosefuentespreviamente). Ficherosdeconfiguracin. Scriptsdearranqueyparada. Instalacindeplugins(bajndosefuentespreviamente).

Traslainstalacinnosepuedemonitorizarnadaan.Primerohay quedisearyplanificarloquequeremosmonitorizaryplasmarlo enlosficherosdeconfiguracin.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(IV)

InstalacindeNagios1.2
./configureprefix=/usr/local/nagioswith cgiurl=/nagios/cgibinwithhtmurl=/nagioswithnagios user=nagioswithnagiosgrp=nagios makeall#Compilatodo makeinstallconfig#Instalaficherosdeconf.deejemplo. makeinstallinit#Instalascriptsdearranqueyparada. ##Consejo:utilizarvalorespordefecto##

Instalacindeplugins
./configure makeall makeinstall

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(V)

Instalacin:Estructuradedirectorios

bin/ etc/

EjecutableprincipaldeNagios. Ficherosdeconfiguracin.

sbin/ CGIs share/ FicherosHTMLdelinterfazwebydocumentacin. var/ Directoriovacoparalogs,etc. libexec/ Plugins,ejecutablesquerealizanloschequeos.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(VI)

Quetenemosahora?>Casinada. Qufaltaparaempezar?

Configuracindelinterfazweb. ConfiguracinbsicadeNagiosparanuestrocasoconcreto. HabilitarlaejecucindelosCGIsylaautenticacin. Habilitarloscomandosexternos.

Yqumaspuedehacer?

Configuracinavanzada,Addons,SNMP,NotificacionesSMS, chequeospasivos,etc.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(VII)

ConfiguracindelInterfazWeb:

Modificacionesenhttpd.conf(apache)

ScriptAlias/nagios/cgibin//usr/local/nagios/sbin/ <Directory"/usr/local/nagios/sbin/"> AllowOverrideAuthConfig#Paraautenticacinhtpasswd OptionsExecCGI Orderallow,deny Allowfromall </Directory>

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(VIII)

ConfiguracindelInterfazWeb:
Alias/nagios//usr/local/nagios/share/ <Directory"/usr/local/nagios/share"> OptionsNone AllowOverrideAuthConfig#Paraautenticacinhtpasswd Orderallow,deny Allowfromall </Directory>

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InstalacinyConfiguracindeNagios(IX)

ConfiguracindelInterfazWeb:

Autenticacinmediantehtpasswd:paracgisnormalmentey opcionalmenteparaelaccesoaloshtmls.

#htpasswdc/usr/local/nagios/etc/htpasswd.usersUSUARIO1 #htpasswd/usr/local/nagios/etc/htpasswd.usersUSUARIO2 #cat>/usr/local/nagios/sbin/.htaccess(ya/share/opcional) AuthName"NagiosAccess" AuthTypeBasic AuthUserFile/usr/local/nagios/etc/htpasswd.users requirevaliduser (CTRL+D)

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(I)

Resumen

nagios.cfg>Ficherodeconfiguracinprincipal;contieneincludes alrestodeficheros.Opcionesdeconfiguracindelaaplicacinen general. cgi.cfg > Ficherodeconfiguracindelfuncionamientodeloscgis, autenticacin,permisos,etc. resource.cfg>DefinicindevariablesymacrosdeNagios. hosts.cfg,hostgroups.cfg,services.cfg,dependencies.cfg, escalations.cfg,timeperiods.cfg,contacts.cfg,contactgroups.cfg, checkcommands.cfg,miscommands.cfg>Objetosdeconfiguracin.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(II)

Diagramacontextualdelosobjetosqueintervienenenlaconfiguracion:

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(III)

Ficherosdeconfiguracindeobjetos:

Configuracinenficherosdetextoorientadaaplantillas (templates).Herenciaysobreescrituradeatributoseneluso deplantillas. Atributosparadefinicinyusodeplantillas:


namenombre_plantilla: Daunnombrealaplantilla usenombre_plantilla: register[0/1]: Indicaunnombredeplantillaautilizar. Indicasihayqueinstanciarelobjetoono.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(IV)

Ficherosdeconfiguracindeobjetos:

Definicindeobjetos,sintaxis:
definetipo_de_objeto{ atributo1 valor1 atributo2 valor2 atributo3 valor31,valor32,valor33,... ... ... ... ... use plantilla_a_utilizar register 0#enesteejemplo name mi_plantilla }

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(V)

hosts.cfg
definehost{ host_name alias address parents check_command max_check_attempts checks_enabled notification_interval notification_period notification_options notifications_enabled } host_name alias address host_names command_name # [0/1] # timeperiod_name [d,u,r] [0/1]

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(VI)

services.cfg
defineservice{ host_name service_description check_command max_check_attempts normal_check_interval retry_check_interval check_period notification_interval notification_period notification_options notifications_enabled contact_groups } host_name service_description command_name # # # timeperiod_name # timeperiod_name [w,u,c,r] [0/1] contact_groups

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(VII)

contacts.cfg
definecontact{ contact_name contact_name alias alias host_notification_period timeperiod_name service_notification_period timeperiod_name host_notification_options [d,u,r,n] service_notification_options [w,u,c,r,n] host_notification_commands command_name service_notification_commandscommand_name email email_address }

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(VIII)

hostgroups.cfg
definehostgroup{ hostgroup_name alias contact_groups members } hostgroup_name alias contact_groups members

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(IX)

contactgroups.cfg
definecontactgroup{ contactgroup_name alias members } contactgroup_name alias members

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(X)

timeperiods.cfg
definetimeperiod{ timeperiod_name timeperiod_name alias alias sunday timeranges monday timeranges tuesday timeranges wednesdaytimeranges thursday timeranges friday timeranges saturday timeranges }

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(XI)

checkcommands.cfgymiscommands.cfg
definecommand{ command_name command_line } #Ejemplo: definecommand{ command_name check_pop command_line /usr/local/nagios/libexec/check_pop H$HOSTADDRESS$ } command_name command_line

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

FicherosdeConfiguracindeNagios(XII)

Trucosparaahorrartiempoenlaconfiguracin

Utilizarplantillasyagruparatributoscomunes. Mltipleshostogruposdehostenservicios,inclusotodos(*)
defineservice{ hostgroup_name service_description restoatributos... } grupo1,grupo2 NOM_SERVICIO

Paracrearungrupodehostscontodosloshostspodemos utilizartambinel'*'enelatributomembers.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

ArrancandoyparandoNagios

Verificaciondelaconfiguracin

/usr/local/nagios/bin/nagiosv/usr/ocal/nagios/etc/nagios.cfg

IniciarNagios:

/etc/init.d/nagiosstart

PararNagios:

/etc/init.d/nagiosstop

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

ConfiguracindeCGIs

ActivarlaautenticacinenlosCGIs

use_authentication=1encgi.cfg

Diferenciasentrecontactosautenticadosyusuarios autenticadosenlaimplementacindelospermisosde ejecucindelosCGIs. Otrospermisosadicionalesquesepuedenconfiguraren losCGIs.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Comandosexternos

Habilitarcomandosexternos:

Loscomandosexternospermitenmodificarelcomportamientode nagiosdesdeelinterfazweb.Sirvenparadeshabilitarchequeosde serviciosyhosts,solicitarunchequeoinstantneo,planificaruna paradadeservicio,etc... check_external_commands command_check_interval command_file(yasignarpermisoseneldirectorioelegido (/nagios/var/rw).

Modificacionesparahabilitarcomandosexternos(enmain.cf):

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PluginsdeNagios(I)

Lospluginssonlosencargadosderealizartodalamonitorizacin (chequeosdehostsydeservicios). Sonficherosbinariososcriptsejecutables Tantoloschequeoscomolasnotificacionesennagiosson realmenteejecutablesdelsistema.Aquradicagranpartedela flexibilidaddenagios. LospluginsoficialesdenagiossontantoscriptsenPerlyShell comoprogramasescritosenC. Sinlospluginsnosepuederealizarlamonitorizacin.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PluginsdeNagios(II)

Consejo:Aprenderautilizarcadaunodelosplugins.Eslaforma deconocerloslmitesdelamonitorizacin. Ejemplos:

nagios:/usr/local/nagios/libexec#./check_snmp_storage.plhelp nagios:/usr/local/nagios/libexec#./check_httphelp

Siemprepodremosescribirnuestrospropiosplugins.Paraelloleer laespecificacindecomoescribirlos.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

PluginsdeNagios(III)

PluginsoficialesdeNagios:

Versin1.3.1(Julio2003) Versin1.4(Febrero2005) http://www.manubulon.com/nagios/ http://www.nagios.org/download/extras.php

PluginsPatrick'sProy(SNMP)

Otrosextras,addonsyotrosplugins:

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InterfazWebdeNagios(I)

ConlaconsolawebdemonitorizacindeNagios podemos,desdecualquierlugar:

AccederaladocumentacinonlinedeNagios. Obtenerunresumengeneraldelestadodelsistema. Conocerelestadoactualdetodoslosserviciosyhostschequeados. Visualizarunmapadeestadocontodosloshosts. Visualizarunmapaen3D(clientevrmlenelnavegador). Obtenerunresumendetodoslosproblemas. Aadircomentariosadiferentessituaciones,hostsyservicios.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

InterfazWebdeNagios(II)

Obtenerestadsticasdedisponibilidadyestadodelosdiferentes hostsyservicios. Obtenerlistadosdelhistricodealertas. Obtenerlistadosdenotificacionesenviadas. Verlosficherosdeconfiguracinyellogdeeventos. Deshabilitarloschequeosquecreamosoportunos. Deshabilitarlosmanejadoresdeeventos. Solicitarchequeoinmediatodeunservicioohost. Planificarparadasdeservicio.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

NagiosExtrasyAddons(I)

Existennumerosasaplicacionesdesarrolladasporla comunidadquecomplementanlafuncionalidadde Nagios.Lamayoradeellassepublicanenlapropia pginawebdeNagios

http://www.nagios.org/download/extras.php

Tenemosdesdeinterfaceswebpararealizar configuracindenagioshastademoniosencargadosde enviarnotificacionesporICQ.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

NagiosExtrasyAddons(II)

Entreellosdestacamos:

NAGAT:InterfazwebescritoenphppararealizarlaconfiguracindeNagios (services,hosts,contacts,etc.). APAN:IntegracindeNagiosconRRDtoolparagenerarmejoresgrficosy estadsticas. NRPEyNRPE_NT:Demonioparaejecutarlospluginsdenagiosenhostsremotos. Deestaformapodemoscontrolarlacargadelsistema,espaciodefilesystems,etc sobrehostsremotos.NOTA:Lospluginsdebenestarinstaladosencadamquina dedestino. NSCLient:PermiteaNagiosobtenerinformacinimportantesobrehostsWindows NT/2000/XP. PluginsSNMP:Muytiles.IntercambianinformacingraciasaSNMP. Normalmentesonindependientesdelaplataformadedestino.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

ConfiguracinAvanzada

OtrosaspectosdeNagiosatenerencuenta:

EventHandlers. EscalationsyDependencies. PassiveChecks. Hostextinfoyserviceextinfo. AlarmasSMScongnokii.

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Otrasaplicacioneslibresdemonitorizacin

JustForFunNetworkManagementSystem AngelNetworkMonitor Sysmon Mars

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Referencias

http://www.nagios.org http://www.totkat.org/ http://dag.wieers.com/packages/nagiosnrpe/ http://www.gnokii.org http://www.jffnms.com http://www.manubulon.com/nagios/ http://www.altara.org/mars.html

Herramientaslibresdemonitorizacin:Nagios

EduardoGonzlezdelaHerrn egonzalez@nhtnorwick.com

Licencia
Copyright2005.EduardoGonzlezdelaHerrn Copyleft2005.EduardoGonzlezdelaHerrn Sepermitelacopia,distribucin,usoyrealizacindelaobra,siempreycuandose reconozcalaautoraynoseuselaobraconfinescomercialesanoserquese obtengapermisoexpresodelautor.Elautorpermitedistribuirobrasderivadasde estaslosimantienenlamismalicenciaqueestaobra. Estanotanoeslalicenciacompletadelaobrasinounatraduccindelanotaorientativa delalicenciaoriginalcompleta(jurdicamentevlida),quepuedeencontrarseen: http://creativecommons.org/licenses/byncsa/1.0/legalcode ParalarealizacindelaobrasehautilizadoladocumentacinoficialdeNagios1.2 escritaporEthanGalstad.

También podría gustarte