Herramientas de usuario

Herramientas del sitio


manuales:nagios:capacitacion:correlacion_de_eventos

Diferencias

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

Enlace a la vista de comparación

Próxima revisión
Revisión previa
manuales:nagios:capacitacion:correlacion_de_eventos [2015/10/22 17:40] – creado cayumanuales:nagios:capacitacion:correlacion_de_eventos [2017/07/21 16:06] (actual) – [Sistemas de Syslog Centralizado] cayu
Línea 163: Línea 163:
 Puede logguear tanto por UDP como por TCP, teniendo compatibilidad con el viejo syslog, soportando a su vez muchas mas opciones y tareas que el syslog comun. Puede logguear tanto por UDP como por TCP, teniendo compatibilidad con el viejo syslog, soportando a su vez muchas mas opciones y tareas que el syslog comun.
  
-==== Sobre Syslog-NG ====+==== Sistemas de Syslog Centralizado ==== 
 +  * [[manuales:nagios:capacitacion:correlacion_de_eventos:syslog_ng|Syslog-NG]] 
 +  * [[manuales:nagios:capacitacion:correlacion_de_eventos:eventdb|EventDB]] 
 +  * [[manuales:nagios:capacitacion:correlacion_de_eventos:rsyslog|Rsyslog - Reliable system and kernel logging daemon]]
  
-Syslog-NG es un sistema para el envío de mensajes de registro en una red. 
- 
-Es útil registrar, por ejemplo: 
- 
-    * Un intento de acceso con contraseña equivocada 
-    * Un acceso correcto al sistema 
-    * Anomalías: variaciones en el funcionamiento normal del sistema 
-    * Alertas cuando ocurre alguna condición especial 
-    * Información sobre las actividades del sistema operativo 
-    * Errores del hardware o el software 
- 
-También es posible registrar el funcionamiento normal de los programas; por ejemplo, guardar cada acceso que se hace a un servidor web, aunque esto suele estar separado del resto de alertas. 
- 
-Puede logguear tanto por UDP como por TCP, teniendo compatibilidad con el viejo syslog, soportando a su vez muchas mas opciones y tareas que el syslog comun. 
- 
- 
-== Explicacion tecnica simple == 
- 
-Syslog-NG se compone en capas de funcionamiento 
- 
- 
-{{ :notas:syslog-ng.png |}} 
- 
-Osea tengo en primer lugar opciopnes generales, luego fuentes de donde obtener datos de los registros, ya sean locales, externos por red (udp, tcp, archivos de texto), y luego tenemos destinos y filtros configurados, uniendolos forman los registros de sistema 
- 
- 
- 
-==== Tareas ==== 
- 
-Se instalo el software syslog-ng dentro de un servidor Debian. 
- 
-<code> 
-apt-get install syslog-ng 
-</code> 
- 
-En la instalacion como resultante se tiene el siguiente archivo de configuracion principal 
- 
-**/etc/syslog-ng/syslog-ng.conf** 
- 
- 
- 
- 
-== Clientes == 
- 
-En los clientes se procedió a configurar el syslog convencional para que loggueara por UDP hacia el servidor syslog. 
- 
-**syslog-ng.conf** 
-<file ini syslog-ng.conf> 
-destination syslog_server { 
-    tcp( "10.1.1.2" port(514) ); 
-}; 
- 
-filter      f_local6       { facility(local6); }; 
- 
-filter f_auth { 
-    facility(auth, authpriv); 
-}; 
-log {  
-    source(src); 
-    filter(f_auth); 
-    destination(syslog_server); 
-}; 
- 
-log {  
-    source(src); 
-    filter(f_local6); 
-    destination(syslog_server); 
-}; 
-</file> 
- 
-**syslog.conf** 
-<file ini syslog.conf> 
-auth.*;authpriv.*;auth.notice;auth.error;auth.info;authpriv.none;     @10.1.1.2 
-local6.*                @10.1.1.2 
-</file> 
- 
-**/etc/profile.local**  
- 
-<note important> 
-Esto es para logguear todos los comandos que ejecutan los usuarios, funciona aunque ejecuten un sudo o un su sin perder el rastro del usuario original, siempre y cuando no modifiquen la variable de entorno. 
-</note> 
-<code bash> 
-export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"' 
-</code> 
- 
-==== Configuración del Servidor ==== 
-Debian GNU/Linux Etch 
- 
-Archivo /etc/syslog-ng/syslog-ng.conf 
- 
- 
- 
-Opciones generales, fuentes de donde obtener información, filtros y destinos paracada filtro 
- 
- 
-<code> 
-options { 
-      long_hostnames(off); 
-      # doesn't actually help on Solaris, log(3) truncates at 1024 chars 
-      log_msg_size(8192); 
-      # buffer just a little for performance 
-      # sync(1); <- Deprecated - use flush_lines() instead 
-      flush_lines(1); 
-      # memory is cheap, buffer messages unable to write (like to loghost) 
-      log_fifo_size(16384); 
-      # Hosts we don't want syslog from 
-      #bad_hostname("^(ctld.|cmd|tmd|last)$"); 
-      # The time to wait before a dead connection is reestablished (seconds) 
-      time_reopen(10); 
-      #Use DNS so that our good names are used, not hostnames 
-      use_dns(no); 
-      dns_cache(yes); 
-      #Use the whole DNS name 
-      use_fqdn(no); 
-      keep_hostname(no); 
-      chain_hostnames(no); 
-      #Read permission for everyone 
-      perm(0644); 
-      # The default action of syslog-ng 1.6.0 is to log a STATS line 
-      # to the file every 10 minutes.  That's pretty ugly after a while. 
-      # Change it to every 12 hours so you get a nice daily update of 
-      # # how many messages syslog-ng missed (0). 
-      stats(43200000); 
-}; 
- 
-# Log Interno 
-source interno { 
-        # message generated by Syslog-NG 
-        internal(); 
-        # standard Linux log source (this is the default place for the syslog() 
-        # function to send logs to) 
-        unix-stream("/dev/log"); 
-        # messages from the kernel 
-        file("/proc/kmsg" log_prefix("kernel: ")); 
-}; 
- 
-# Create destination to LogZilla 
-destination d_logzilla { 
-   program("/usr/local/nagios/syslog/scripts/db_insert.pl" 
-   template("$HOST\t$FACILITY\t$PRIORITY\t$LEVEL\t$TAG\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n") 
-   ); 
-}; 
-source externo { 
-        # use the following line if you want to receive remote UDP logging messages 
-        # (this is equivalent to the "-r" syslogd flag) 
-        # Ampliamos el limite de conexiones para recibir gran cantidad de datos de LOGS externos 
-        udp(ip(0.0.0.0) port(514)); 
-        tcp(ip(0.0.0.0) port(514)  max-connections(150) ); 
-}; 
- 
-# Tell syslog-ng to log to our new destination  
-log { 
-    source(externo); 
-    destination(d_logzilla); 
-}; 
- 
-# Alertas de Nagios Eventdb 
- 
-destination d_eventdb { 
-    pipe( 
-        "/usr/local/nagios/var/rw/syslog-ng.pipe", 
-        template("$HOST\t$SOURCEIP\t$PRI\t$YEAR-$MONTH-$DAY\t$HOUR:$MIN:$SEC\t$PROGRAM\t$MSG\n") 
-        template_escape(no) 
-    ); 
-}; 
- 
-log { 
-    source(externo); 
-    destination(d_eventdb); 
-}; 
-</code> 
- 
-==== PHP-Syslog-ng ==== 
- 
-//Para la visualizacion de los logs via web, busqueda y demas operaciones para su administracion se instalo, configuro y modifico a necesidad parte de codigo del sofware php-syslog-ng que provee de una interfaz web con soporte de busquedas y que servia para cubrir la necesidad planteada.// 
- 
- 
- 
-Una vez instalado se configuro el apache para su puesta en marcha de la siguiente manera (se omitieron las directivas de autenticacion). 
- 
-<code> 
-Alias /syslog "/usr/local/php-syslog-ng/html" 
-<Directory "/usr/local/php-syslog-ng/html"> 
-    Options All 
-    Order allow,deny 
-    Allow from all 
-    SSLRequireSSL 
-    AllowOverride None 
-</Directory> 
-</code> 
- 
-=== Integración con Nagios === 
- 
-{{:manuales:nagios:nagios_syslog.png|}} 
-==== Eventdb ==== 
- 
-=== ¿Que es Eventdb? === 
- 
-EventDB es una herramienta para facilitar el tratamiento de los datos basados ​​en eventos de Syslog para herramientas de monitoreo como Nagios o Icinga y su integración con los mismos se logra a través de un plug-in de chequeo. Cuenta con varios plugins para diferentes fuentes de datos. La interfaz web permite a los usuarios buscar, filtrar y reconocer todos los eventos. 
- 
-=== ¿Cómo funciona? === 
- 
-El EventDB toma los eventos recibidos y los almacena en una base de datos MySQL. Se tomando los datos de syslog-ng desde un pequeño demonio perl (syslog-ng2mysql.pl). syslog-ng2mysql.pl abre una unix-pipe por un lado desde donde recibe los mensajes de syslog-ng, y utiliza DBI en el otro para escribir datos en MySQL. 
- 
- 
-{{:manuales:nagios:nagios_eventdb.jpg|}} 
manuales/nagios/capacitacion/correlacion_de_eventos.1445535626.txt.gz · Última modificación: 2015/10/22 17:40 por cayu