Herramientas de usuario

Herramientas del sitio


manuales:nagios:capacitacion:implementacion_tecnica

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
manuales:nagios:capacitacion:implementacion_tecnica [2015/10/22 17:34] – [Nagios] cayumanuales:nagios:capacitacion:implementacion_tecnica [2017/07/21 15:54] (actual) – [Caso concreto] cayu
Línea 57: Línea 57:
 Ejemplo de salida de ejecución del script configure : Ejemplo de salida de ejecución del script configure :
 <code> <code>
 +./configure --enable-corewindow --enable-event-broker
 +...
 +Creating sample config files in sample-config/ ...
 +
 +
 +*** Configuration summary for nagios 4.3.1 02-23-2017 ***:
 +
  General Options:  General Options:
  -------------------------  -------------------------
Línea 68: Línea 75:
    Check result directory:  ${prefix}/var/spool/checkresults    Check result directory:  ${prefix}/var/spool/checkresults
            Init directory:  /etc/init.d            Init directory:  /etc/init.d
-  Apache conf.d directory:  /etc/apache2/conf.d+  Apache conf.d directory:  /etc/httpd/conf.d
              Mail program:  /bin/mail              Mail program:  /bin/mail
                   Host OS:  linux-gnu                   Host OS:  linux-gnu
Línea 86: Línea 93:
 Es útil pensar en utilizar varios paquetes de plugins disponibles en la distribución para poder facilitar el proceso de actualizaciones, igualmente es recomendable los componentes base de Nagios compilarlos y dejar separados los plugins personalizados para poder dejarlos independientes de las actualizaciones que apliquemos a los paquetes de la distribución. Es útil pensar en utilizar varios paquetes de plugins disponibles en la distribución para poder facilitar el proceso de actualizaciones, igualmente es recomendable los componentes base de Nagios compilarlos y dejar separados los plugins personalizados para poder dejarlos independientes de las actualizaciones que apliquemos a los paquetes de la distribución.
 ==== Caso concreto ==== ==== Caso concreto ====
-^Sistema Operativo|Debian 8.1+^Sistema Operativo|Debian 9
-^Version de Nagios|4.1.1|+^Version de Nagios|4.3.1|
  
 Desinstalar paquetes o cosas innecesarias del paquete base de debian netinst e instalar el compilador GCC, realizar pruebas con el FLAG O3 al momento de la compilación. Desinstalar paquetes o cosas innecesarias del paquete base de debian netinst e instalar el compilador GCC, realizar pruebas con el FLAG O3 al momento de la compilación.
  
-<code> 
- General Options: 
- ------------------------- 
-        Nagios executable:  nagios 
-        Nagios user/group:  nagios,nagios 
-       Command user/group:  nagios,nagios 
-             Event Broker:  yes 
-        Install ${prefix}:  /usr/local/nagios 
-    Install ${includedir}:  /usr/local/nagios/include/nagios 
-                Lock file:  ${prefix}/var/nagios.lock 
-   Check result directory:  ${prefix}/var/spool/checkresults 
-           Init directory:  /etc/init.d 
-  Apache conf.d directory:  /etc/httpd/conf.d 
-             Mail program:  /bin/mail 
-                  Host OS:  linux-gnu 
-          IOBroker Method:  epoll 
- 
- Web Interface Options: 
- ------------------------ 
-                 HTML URL:  http://localhost/nagios/ 
-                  CGI URL:  http://localhost/nagios/cgi-bin/ 
- Traceroute (used by WAP):  /usr/sbin/traceroute 
-</code> 
 make install-base make install-base
 <code> <code>
 cd ./base && make install cd ./base && make install
-make[1]: Entering directory '/root/nagios-4.1.0rc1/base'+make[1]: Entering directory '/root/nagios-4.3.1/base'
 make install-basic make install-basic
-make[2]: Entering directory '/root/nagios-4.1.0rc1/base'+make[2]: Entering directory '/root/nagios-4.3.1/base'
 /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
 /usr/bin/install -c -m 774 -o nagios -g nagios nagios /usr/local/nagios/bin /usr/bin/install -c -m 774 -o nagios -g nagios nagios /usr/local/nagios/bin
 /usr/bin/install -c -m 774 -o nagios -g nagios nagiostats /usr/local/nagios/bin /usr/bin/install -c -m 774 -o nagios -g nagios nagiostats /usr/local/nagios/bin
-make[2]: Leaving directory '/root/nagios-4.1.0rc1/base'+make[2]: Leaving directory '/root/nagios-4.3.1/base'
 make strip-post-install make strip-post-install
-make[2]: Entering directory '/root/nagios-4.1.0rc1/base'+make[2]: Entering directory '/root/nagios-4.3.1/base'
 /usr/bin/strip /usr/local/nagios/bin/nagios /usr/bin/strip /usr/local/nagios/bin/nagios
 /usr/bin/strip /usr/local/nagios/bin/nagiostats /usr/bin/strip /usr/local/nagios/bin/nagiostats
-make[2]: Leaving directory '/root/nagios-4.1.0rc1/base' +make[2]: Leaving directory '/root/nagios-4.3.1/base' 
-make[1]: Leaving directory '/root/nagios-4.1.0rc1/base'+make[1]: Leaving directory '/root/nagios-4.3.1/base'
 </code> </code>
 make install-init make install-init
Línea 157: Línea 141:
   * python-nagiosplugin   * python-nagiosplugin
   * python3-nagiosplugin   * python3-nagiosplugin
-  * libnagios-plugin-perl +  * libnagios-plugin-perl (si Debian < 9)
  
 Paquetes extra para la administración del sistema : Paquetes extra para la administración del sistema :
Línea 174: Línea 158:
     * oracle-instantclient-basic_10.2.0.5-2_amd64.deb     * oracle-instantclient-basic_10.2.0.5-2_amd64.deb
     * oracle-instantclient-sqlplus_10.2.0.5-2_amd64.deb          * oracle-instantclient-sqlplus_10.2.0.5-2_amd64.deb     
-  * php5-cli +  * php7.0-cli 
-  * php5-curl php5-gd+  * php7.0-curl 
 +  * php7.0-gd
   * ntpstat   * ntpstat
   * ntpdate   * ntpdate
Línea 181: Línea 166:
   * xmlstarlet   * xmlstarlet
   * libmail-sendmail-perl   * libmail-sendmail-perl
-  * php5-snmp+  * php7.0-snmp
  
  
Línea 352: Línea 337:
 **resource.cfg** **resource.cfg**
   * Archivo de configuracion donde se definen macros de ejecucion   * Archivo de configuracion donde se definen macros de ejecucion
 +Ejemplo de configuración teniendo en cuenta el ambiente mixto con plugins de paquetes Debian y compilados manualmente :
 +<code bash>
 +# Sets $USER1$ to be the path to the Debian plugins
 +$USER1$=/usr/lib/nagios/plugins
 +
 +# Sets $USER2$ to be the path to the manual compiled plugins
 +$USER2$=/usr/local/nagios/libexec
 +
 +# Comunidad SNMP V1
 +$USER3$=comunidad
 +# Usuario y Password SNMP V3
 +$USER5$=nagios
 +$USER6$=ClaveDESNMP
 +</code>
  
 **objects/** **objects/**
Línea 1154: Línea 1153:
 </code> </code>
  
-==== Manejadores de Eventos - Event Handler ====+==== Agregando Comandos ====
  
 +En Nagios los encargados de recabar los datos del monitoreo, de mostrar alertas, de todas las tareas, son los comandos.
 +
 +Los mismos se dividen en comandos de performance y en comandos de chequeo, los primeros son utilizados para algunos casos en particular.
 +
 +Los comandos de chequeo no traen datos de los equipos a monitorear, como consumo de CPU, Memoria, Disco, procesos corriendo, puertos abiertos etc, es decir todos los datos necesarios de la monitoria.
 +
 +Los comandos de performance se utilizan cuando hay que guardar ciertos datos o enviarlos a algún host externo etc, con información de algún servicio.
 +
 +Una entrada en un archivo de configuración de comandos puede ser como la siguiente
 +
 +<code>
 +define command{
 +        command_name check_snmp_mem
 +        command_line $USER1$/check_snmp_mem.pl -H $HOSTADDRESS$ $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$
 +        }
 +</code>
 +
 +<code>
 +define command{
 +        command_name {nombre del comando}
 +        command_line {datos de  ejecucion}
 +        }
 +</code>
 +
 +
 +**command_name**
 +
 +El nombre que el comando tendra para nuestra configuración personal de  Nagios
 +
 +
 +**command_line**
 +
 +Modo del cual Nagios ejecutara el comando en cuestión, con su ruta física y argumentos
 +Lo que vemos en entre signos $ son variables internas de nagios, llamadas macros, las mas comunes son: 
 +
 +**$USER1$**       : Contiene datos del path de ejecución de los plugins de Nagios
 +
 +**$HOSTADDRESS$** : Tiene la IP de hosts desde el cual se esta corriendo el servicio
 +
 +**$ARG1$ $ARG2$ $ARG3$ $ARG4$** : Son los números en orden de argumentos que recibe el comando a ejecutar
 +
 +
 +Podemos definir nuestros propios macros seteando variables en el archivo resource.cfg
 +
 +
 +//Se deberán agregar al archivo {nagios-dir}/etc/commands.cfg las entradas correspondientes anteriormente explicadas.//
 +
 +
 +
 +==== Manejadores de Eventos - Event Handler ====
 Cuando hablamos de **event handler** o **manejador de eventos**, nos referimos a funciones que responden a eventos que se producen, como pueden ser un cambio de estado. Cuando hablamos de **event handler** o **manejador de eventos**, nos referimos a funciones que responden a eventos que se producen, como pueden ser un cambio de estado.
 +
 +==== Configuración de alertas ====
 +
 +=== Agregando Grupos de contacto ===
 +
 +Para que el Nagios envíe notificaciones sobre el estado de los servicios es necesario definir grupos a los cuales enviárselas, y dentro de ellos estarán los miembros a cuales enviarlos
 +
 +
 +A continuación podemos ver una configuración típica de un grupo de contactos
 +
 +<code>
 +   define contactgroup{
 +        contactgroup_name               admin
 +        alias                           Administrators
 +        members                         admin-sap,admin-windows
 +    }
 +</code>
 +
 +<code>
 +   define contactgroup{
 +        contactgroup_name               {nombre del grupo contacto}
 +        alias                           {descripcion}
 +        members                         {miembros del grupo}
 +    }
 +</code>
 +
 +
 +**contactgroup_name**
 +
 +Nombre que se le asignara al grupo de contacto
 +
 +
 +**alias**
 +
 +Descripción corta para identificar al grupo
 +
 +
 +**members**
 +
 +
 +Miembros del grupo separados por comas
 +
 +
 +
 +//Se deberá crear el archivo {nagios-dir}/etc/contactgroups/{nombregrupodecontacto.cfg} con las entradas correspondientes anteriormente explicadas.//
 +
 +
 +=== Agregando Contactos ===
 +
 +Para recibir las notificaciones de Nagios es necesario generar contactos que estén incluidos en diferentes grupos de contactos, una configuración simple para un contacto se ve como la siguiente entrada
 +
 +
 +<code>
 +   define contact{
 +        contact_name                   admin
 +        alias                          Administrador Nagios
 +        contactgroups                  admin
 +        service_notification_period    24x7
 +        host_notification_period       24x7
 +        service_notification_options   w,u,c,r
 +        host_notification_options      d,u,r
 +        service_notification_commands  notify-by-email
 +        host_notification_commands     host-notify-by-email
 +        email                          root@localhost
 +    }
 +</code>
 +
 +<code>
 +   define contact{
 +        contact_name                   {nombre del contacto}
 +        alias                          {descripcion del contacto}
 +        contactgroups                  {grupo de contactos al cual pertenece}
 +        service_notification_period    {priodo de tiempo de notificaciones de servicios}
 +        host_notification_period       {priodo de tiempo de notificaciones de hosts}
 +        service_notification_options   {opciones de notificacion por servicio}
 +        host_notification_options      {opciones de notificacion por host}
 +        service_notification_commands  {comando de notificacion a utilizar por servicio}
 +        host_notification_commands     {comando de notificacion a utilizar por host}
 +        email                          {direccion de email del contacto}
 +    }
 +</code>
 +
 +
 +**contact_name**
 +
 +Nombre literal a asignarle al contacto
 +
 +
 +**alias**
 +
 +Alias descriptivo del contacto, ej Administrador de Routers
 +
 +
 +**contactgroups**
 +
 +Grupos de contactos a los cuales pertenece
 +
 +
 +**service_notification_period**
 +
 +Periodo de tiempo en el cual recibir notificaciones sobre el estado de los servicios
 +
 +
 +**host_notification_period**
 +
 +Periodo de tiempo en el cual recibir notificaciones sobre el estado de los hosts
 +
 +
 +**service_notification_options**
 +
 +Opciones de cuando realizar una notificación sobre el estado de un servicio
 +
 +
 +**host_notification_options**
 +
 +Opciones de cuando realizar una notificación sobre el estado de un host
 +
 +
 +**service_notification_commands**
 +
 +Comando para realizar la notificación del estado del servicio, podemos definir múltiples comandos
 +
 +
 +**host_notification_commands**
 +
 +Comando para realizar la notificacion del estado del host, podemos definir múltiples comandos
 +
 +
 +**email**
 +
 +Email perteneciente al contacto en el cual recibira las notificaciones por email. Para que esto funcione se debe tener correctamente configurado el mail delivery local.
 +
  
  
 +//Se deberá crear el archivo {nagios-dir}/etc/contacts/{nombredecontacto.cfg} con las entradas correspondientes anteriormente explicadas.//
  
manuales/nagios/capacitacion/implementacion_tecnica.1445535258.txt.gz · Última modificación: 2015/10/22 17:34 por cayu