los eventos que ocurren durante la ejecución de una aplicación o SO. ¿Para qué sirve? Registra datos que respondan a preguntas del tipo ¿Qué? ¿Cómo? ¿Cuándo? ¿Quién? Y ¿Dónde? 4
ser usados para gestión del sistema y auditorías. Clasificados por códigos para saber qué software está creando el log. Clasificados también por nivel de gravedad. Avisos automáticos de notificación. 6
mantenidos por servidores. Contienen información de cada petición IP del cliente. Son accesibles para los administradores. Son útiles para planificar y mejorar el sistema. 7
Registran todas las operaciones que se producen. En caso de fallo permiten recuperar la BD a un estado anterior. Permiten tener dos BD sincronizadas. 8
registrados por aplicaciones. El formato, frecuencia o causas las determina el desarrollador. Incluyen registros informativos, errores o avisos. No siguen un formato estándar. 9
entre aplicaciones. Registros de redes sociales, comunicación entre programas, juegos multijugador, etc. Dos tipos: IRC (Internet Relay Chat). IM (Instant Messaging). 10
el mismo formato. Sencillo recoger información de ellos. Tomamos como ejemplo los logs "access log” de Apache. Recogen todas las peticiones recibidas por el servidor de Apache. 11
0 1 5 : 0 4 : 1 6 : 3 9 +0200 Tiempo en servir respuesta: 1 Código de estado: 200 Tamaño de retorno: 3398 12 09/Feb / 2 0 1 5 : 0 4: 1 6 : 3 9 +0200 1 200 3398 GET www. ui c . e s 1 8 9 . 1 0 0 . 4 . 4 4 ‘ ‘/ img/ e sarq / twitter_20x20px . png ’ ’ ‘ ‘ Mo z i l l a /5.0 (Macintosh ; I n t e l Mac OS X 10 _6_8) AppleWebKit / 5 3 4 . 5 9 . 1 0 (KHTML, l i k e Gecko ) Ver s ion / 5 . 1 . 9 S a f a r i / 5 3 4 . 5 9 . 1 0 ’ ’ ‘ ‘ ? id =134773 ’ ’ - joanp
Dominio: www. ui c . e s IP cliente: 189.100.4.44 Recurso: / img/ e sarq / twitter_20x20px . png 13 09/Feb / 2 0 1 5 : 0 4: 1 6 : 3 9 +0200 1 200 3398 GET www. ui c . e s 1 8 9 . 1 0 0 . 4 . 4 4 ‘ ‘/ img/ e sarq / twitter_20x20px . png ’ ’ ‘ ‘ Mo z i l l a /5.0 (Macintosh ; I n t e l Mac OS X 10 _6_8) AppleWebKit / 5 3 4 . 5 9 . 1 0 (KHTML, l i k e Gecko ) Ver s ion / 5 . 1 . 9 S a f a r i / 5 3 4 . 5 9 . 1 0 ’ ’ ‘ ‘ ? id =134773 ’ ’ - joanp
(Macintosh; Intel Mac OS X 10_6_8) Apple- WebKit/534.59.10 (KHTML, like Gecko) Version/5.1.9 Safari/534.59.10 Parámetros: ?id=134773 usuario: joanp 14 09/Feb / 2 0 1 5 : 0 4: 1 6 : 3 9 +0200 1 200 3398 GET www. ui c . e s 1 8 9 . 1 0 0 . 4 . 4 4 ‘ ‘/ img/ e sarq / twitter_20x20px . png ’ ’ ‘ ‘ Mo z i l l a /5.0 (Macintosh ; I n t e l Mac OS X 10 _6_8) AppleWebKit / 5 3 4 . 5 9 . 1 0 (KHTML, l i k e Gecko ) Ver s ion / 5 . 1 . 9 S a f a r i / 5 3 4 . 5 9 . 1 0 ’ ’ ‘ ‘ ? id =134773 ’ ’ - joanp
particionable? Los ficheros logs contienen una línea por cada evento que ocurre. Podemos cogerlos y procesarlos por separado y de manera independiente. 16 Es factible utilizar Hadoop para procesar los ficheros logs
clickstream Las grandes empresas generar 1TB de datos sobre la actividad web de clientes por semana. Analizar esa información se convierte en una tarea tediosa. 17
Navegamos por una web buscando items para comprar. Hacemos click para leer la descripción de un producto que nos llama la atención. Añadimos un objeto a nuestra cesta de la compra e iniciamos el proceso de compra. Finalmente, al ver el coste global cancelamos. 18
Almacenar los registros de manera óptima. Facilitar la posterior recogida de información. Mejorar el procesamiento de estos datos. Facilitar el análisis de la información. 19
Facebook: utiliza Hadoop para copias internas de logs y como medio para sus análisis. Fox Audience Network: análisis de logs, datamining y machine-learning. Greece.com: análisis de logs y datamining. 20
Infolinks: para analizar las producciones de logs. Rackspace: para parsear e indexar logs desde emails. Web Alliance: para análisis de logs y predecir tendencias. 21 http://wiki.apache.org/hadoop/PoweredBy
Visible en minutos Visible en segundos Escribe en HDFS Escribe en sockets Reenvía ante fallos No reenvía Cualquier tipo de datos Datos filtrados por el usuario Soporta MapReduce No está soportado En orden No está garantizado
nodo. Cada nodo tiene una fuente y un contenedor. Algunos contenedores envían datos a nodos de tipo collector. Los nodos collector agregan los datos antes de escribir a HDFS. HERRAMIENTAS DE HADOOP 32
fundamental que se transfiere en Flume. Un cliente es la entidad que genera eventos y los envía a uno o varios nodos agentes. Un agente es un contenedor para albergar fuentes, canales, etc. HERRAMIENTAS DE HADOOP 34
line in sys.stdin: data = line.strip().split(" ") if len(data) == 10: ip, id, user, datetime, timezone, method, path, proto, status, size = data print '%s\t%s' % (ip, 1)
más ficheros de logs Los métodos tradicionales no sean aplicables No hay presupuesto para adoptar una solución comercial Nos encargan el diseño y desarrollo de un sistema que optimice el análisis y procesamiento de logs 41
Quitar información redundante y limpiar datos innecesarios. Ligeros Procesamiento más rápido Adaptarnos a los ficheros de entrada de las herramientas de estadísticas 43
archivo de log Parametrización del procesamiento de log Selección del formato de salida Iniciar procesamiento log Monitorización de Hadoop Cancelar procesamiento log Obtención de resultados
permite la subida de un fichero al sistema Este fichero será el que se procese mediante nuestro sistema El sistema verifica que todo es correcto Da paso a otro de los requisitos 46
muestran una serie de parametrizaciones posibles Se da opción a establecer prioridad Se permite programar y especificar otras características del procesamiento Gestión de notificaciones 48
seleccionar el formato de salida Habrá que tener en cuenta si el procesamiento ha sido correcto o no. Se permite al usuario escoger el formato de salida de los resultados 49
sobre el log específico Se da opción a iniciar un log previamente guardado Se controlan errores durante el procesamiento y se permiten varias soluciones 51
proceso log haya finalizado Se permite la descarga del fichero Se permite navegar por el sistema de ficheros y descargarlo manualmente Control de excepciones 55
de log 56 Parametrización del procesamiento de log Selección del formato de salida Iniciar procesamiento log Monitorización de Hadoop Cancelar procesamiento log Obtención de resultados
Crear un nuevo procesamiento de log Alta Seleccionar un archivo de log Alta Parametrización del procesamiento de un log Media Selección del formato de salida de un log Media Iniciar proceso log Alta Monitorización de Hadoop Baja Cancelar el procesamiento de un log Media Obtención de resultados Alta