manuales:nagios:capacitacion:implementacion_tecnica
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| manuales:nagios:capacitacion:implementacion_tecnica [2015/10/22 17:34] – [Nagios] cayu | manuales: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 : | ||
| < | < | ||
| + | ./configure --enable-corewindow --enable-event-broker | ||
| + | ... | ||
| + | Creating sample config files in sample-config/ | ||
| + | |||
| + | |||
| + | *** Configuration summary for nagios 4.3.1 02-23-2017 ***: | ||
| + | |||
| | | ||
| | | ||
| Línea 68: | Línea 75: | ||
| Check result directory: | Check result directory: | ||
| Init directory: | Init directory: | ||
| - | Apache conf.d directory: | + | Apache conf.d directory: |
| Mail program: | Mail program: | ||
| 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, | Es útil pensar en utilizar varios paquetes de plugins disponibles en la distribución para poder facilitar el proceso de actualizaciones, | ||
| ==== Caso concreto ==== | ==== Caso concreto ==== | ||
| - | ^Sistema Operativo|Debian | + | ^Sistema Operativo|Debian |
| - | ^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. | ||
| - | < | ||
| - | | ||
| - | | ||
| - | Nagios executable: | ||
| - | Nagios user/ | ||
| - | | ||
| - | Event Broker: | ||
| - | Install ${prefix}: | ||
| - | Install ${includedir}: | ||
| - | Lock file: ${prefix}/ | ||
| - | Check result directory: | ||
| - | Init directory: | ||
| - | Apache conf.d directory: | ||
| - | Mail program: | ||
| - | Host OS: linux-gnu | ||
| - | IOBroker Method: | ||
| - | |||
| - | Web Interface Options: | ||
| - | | ||
| - | HTML URL: http:// | ||
| - | CGI URL: http:// | ||
| - | | ||
| - | </ | ||
| make install-base | make install-base | ||
| < | < | ||
| cd ./base && make install | cd ./base && make install | ||
| - | make[1]: Entering directory '/ | + | make[1]: Entering directory '/ |
| make install-basic | make install-basic | ||
| - | make[2]: Entering directory '/ | + | make[2]: Entering directory '/ |
| / | / | ||
| / | / | ||
| / | / | ||
| - | make[2]: Leaving directory '/ | + | make[2]: Leaving directory '/ |
| make strip-post-install | make strip-post-install | ||
| - | make[2]: Entering directory '/ | + | make[2]: Entering directory '/ |
| / | / | ||
| / | / | ||
| - | make[2]: Leaving directory '/ | + | make[2]: Leaving directory '/ |
| - | make[1]: Leaving directory '/ | + | make[1]: Leaving directory '/ |
| </ | </ | ||
| 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 |
| 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$=/ | ||
| + | |||
| + | # Sets $USER2$ to be the path to the manual compiled plugins | ||
| + | $USER2$=/ | ||
| + | |||
| + | # Comunidad SNMP V1 | ||
| + | $USER3$=comunidad | ||
| + | # Usuario y Password SNMP V3 | ||
| + | $USER5$=nagios | ||
| + | $USER6$=ClaveDESNMP | ||
| + | </ | ||
| **objects/ | **objects/ | ||
| Línea 1154: | Línea 1153: | ||
| </ | </ | ||
| - | ==== 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 | ||
| + | |||
| + | < | ||
| + | define command{ | ||
| + | command_name check_snmp_mem | ||
| + | command_line $USER1$/ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | define command{ | ||
| + | command_name {nombre del comando} | ||
| + | command_line {datos de ejecucion} | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | **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$** | ||
| + | |||
| + | **$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}/ | ||
| + | |||
| + | |||
| + | |||
| + | ==== 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, | ||
| + | |||
| + | |||
| + | A continuación podemos ver una configuración típica de un grupo de contactos | ||
| + | |||
| + | < | ||
| + | | ||
| + | contactgroup_name | ||
| + | alias | ||
| + | members | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | | ||
| + | contactgroup_name | ||
| + | alias | ||
| + | members | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | **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}/ | ||
| + | |||
| + | |||
| + | === 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 | ||
| + | |||
| + | |||
| + | < | ||
| + | | ||
| + | contact_name | ||
| + | alias Administrador Nagios | ||
| + | contactgroups | ||
| + | service_notification_period | ||
| + | host_notification_period | ||
| + | service_notification_options | ||
| + | host_notification_options | ||
| + | service_notification_commands | ||
| + | host_notification_commands | ||
| + | email root@localhost | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | | ||
| + | contact_name | ||
| + | alias {descripcion del contacto} | ||
| + | contactgroups | ||
| + | service_notification_period | ||
| + | host_notification_period | ||
| + | service_notification_options | ||
| + | host_notification_options | ||
| + | service_notification_commands | ||
| + | host_notification_commands | ||
| + | email {direccion de email del contacto} | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | **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}/ | ||
manuales/nagios/capacitacion/implementacion_tecnica.1445535258.txt.gz · Última modificación: 2015/10/22 17:34 por cayu
