Al mismo tiempo, el uso de la analítica web en tiempo real ha cobrado gran importancia, porque la cantidad de datos en los archivos de registro la convierte en una herramienta muy poderosa para gestionar la navegación y conocer diferentes patrones de comportamiento de los usuarios. Del mismo modo, este seguimiento en tiempo real no sólo sirve para detectar y corregir errores en cualquier proceso, sino que también proporciona datos valiosos como la popularidad y usabilidad del sitio web alojado junto con otra información relacionada con el número de visitas, dirección IP, sistema operativo. usado, etc La mayoría de las empresas han comenzado a darse cuenta de la importancia de estas grandes cantidades de datos y de las dificultades para gestionarlos.
Un archivo de registro (comúnmente conocido como archivo de registro) surge de la necesidad del administrador de mantener el control sobre el sistema y puede definirse como un archivo que registra toda la actividad que ha realizado un sistema durante un período de tiempo específico. Los archivos de registro pueden generar grandes cantidades de información en tiempo real, por lo que es necesario que gran parte de esta información sea gestionada para realizar ciertos análisis de seguridad y que luego de los procesos de auditoría, en caso de que ocurra alguna incidencia y se requiera información adicional, debemos Descúbrelo. Muchas veces puede ser necesario un análisis de esta información, incluso en tiempo real (para detectar ataques), por lo tanto todo esto es posible mediante el uso de la tecnología Big Data y su capacidad de trabajar con grandes cantidades de información en poco tiempo.
Por todo esto, partiendo de la importancia y necesidad de realizar dichos análisis y seguimiento en tiempo real, se considerará como objetivo principal de este proyecto de titulación, donde se desarrollará una aplicación web que permita realizar un análisis en tiempo real y Evaluación de registros de logs mediante tecnología Big Data.
INTRODUCCIÓN
E STRUCTURA DEL D OCUMENTO
Introducción: En este capítulo se describe el problema a abordar en este TFG, así como una vista representativa de la arquitectura de la herramienta.
OBJETIVOS DEL TFG
O BJETIVO P RINCIPAL
La motivación de este TFG viene dada por el gran potencial que se puede extraer de un archivo de registro, en el marco de la calidad de la información. Como se mencionó anteriormente en el Capítulo 1, para analizar la gran cantidad de información que generan los archivos de registro se requiere el uso de tecnología Big Data, ya que con técnicas tradicionales sería mucho más complicado. Finalmente, a través de la aplicación web desarrollada se pueden realizar diferentes tipos de evaluaciones en tiempo real, además de recibir un informe final completo y detallado de la evaluación respectiva.
A continuación se muestra una figura (Figura 2.1) que representa la arquitectura del sistema a implementar y cómo funciona. El objetivo principal de este proyecto de tesis final será el desarrollo de una aplicación web que permita la evaluación en tiempo real de las entradas de registro utilizando la aplicación. Como se muestra en la Figura 2.1, el procesamiento de los archivos de registro a los que se accede se realizará a través de la plataforma Hadoop utilizando Apache Flume y utilizando técnicas MapReduce para generar una salida de valor que se almacenará en Hadoop HDFS.
Como resultado final, la aplicación web utilizará la información almacenada para mostrar gráficamente las distintas evaluaciones procesadas.
O BJETIVOS P ARCIALES
Disponibilidad Debe ser funcional para ser utilizado por el usuario final cuando lo desee. Durabilidad Debe poder continuar con el funcionamiento normal aunque reciba parámetros no válidos como entrada.
O BJETIVOS D OCENTES
ESTADO DE LA CUESTIÓN
ISO/IEC 25000
- ISO/IEC 25012
H ERRAMIENTAS PARA EL ANÁLISIS Y MANEJO DE LOGS
- Splunk
- Sumo Logic
- Loggly
- Paper Trails
- Splunk > Storm
- Logstash
- Graylog2
A RCHIVOS L OG
- Descripción de archivos log de Servidores Web
- Registro de Acceso (Access Log)
- Registro de Errores (Error Log)
- Registro de Referencias (Referrer Log)
- Registro de Agentes de Usuario (Agent Log)
- Problemática del análisis de los Web Logs
- Datos almacenados en los Archivos Log
- Logs basados en un Servidor Proxy
- Logs basados en un cliente
- Logs basados en el Monitoreo de Red
- Monitores de Red para la Web Platform Unix
B IG D ATA
- Apache Hadoop
- Evolución histórica
- Visión General
- Hadoop Distributed File System (HDFS)
- MapReduce
MÉTODO DE TRABAJO
O PEN U P
- Artefactos de OpenUp
Esta metodología se basa en el uso de casos y escenarios de uso, gestión de riesgos y un enfoque basado en arquitectura para impulsar el desarrollo. Esta metodología se adapta mejor a nuestro desarrollo ya que el proyecto se dividirá en varias iteraciones que agregarán valor al proyecto, proporcionando un resultado completo para el producto final. Enfoque: Centrarse en la arquitectura para facilitar la colaboración técnica, reducir riesgos, minimizar excesos y trabajo extra.
OpenUP define un ciclo de vida completo para el desarrollo de sistemas de software y está diseñado para soportar y rastrear las actividades diarias de pequeños equipos de trabajo [17]. Las fases [19] de las que consta son cuatro (Iniciación, Preparación, Construcción y Transición) como se ve en la Figura 4.2. Por lo tanto, se centra en la transición del producto de software a la plataforma tecnológica del cliente, asegurando que las partes interesadas estén de acuerdo en que el desarrollo del producto cumple con los requisitos establecidos.
Las tareas suelen agruparse en disciplinas para poder comprender el proyecto desde una perspectiva centrada en el modelo tradicional en cascada. En todo desarrollo de software, el factor humano es un aspecto clave, ya que tiene una serie de responsabilidades relacionadas con una tarea específica dentro del mismo. Dirige o coordina el diseño técnico del sistema y tiene la responsabilidad de gestionar las decisiones técnicas clave expresadas en la arquitectura general del software.
Es la responsable del diseño, su adaptación a la arquitectura y la implementación de pruebas unitarias y la integración de los componentes que forman parte de la solución. Coordina las interacciones con las partes interesadas y mantiene al equipo del proyecto enfocado en los objetivos del proyecto. Este papel puede ser desempeñado por cualquier persona involucrada/relacionada con los objetivos del proyecto.
Es responsable de la identificación, definición, implementación y coordinación de las pruebas necesarias, así como del registro y verificación de las pruebas y análisis de resultados. Los roles son responsables de crear y actualizar artefactos y están sujetos a control de versiones durante todo el ciclo de vida del proyecto [18].
M ARCO T ECNOLÓGICO
- Herramientas para la gestión de proyectos
- Herramientas para el modelado software
- Herramientas para la gestión de bases de datos
- Herramientas, tecnologías y frameworks para el desarrollo software
- Herramientas para elaborar la documentación
RESULTADOS
F ASE DE I NICIO
- Requisitos
- Modelo de Casos de Uso
- Plan de Iteraciones
- Gestión Temporal
- Gestión de Recursos
- Gestión de Riesgos
- Gestión de Costes
F ASE DE E LABORACIÓN
- Iteración 1
F ASE DE C ONSTRUCCIÓN
- Iteración 2: Extracción de la información contenida en los log de acceso
- Iteración 3: Interfaz de usuario
- Iteración 4: Alta de usuarios
- Iteración 5: Algoritmos de cada evaluación
- Iteración 6: Obtención de gráficos
- Iteración 7: Generar pdf del informe final
F ASE DE T RANSICIÓN
CONCLUSIONES Y PROPUESTAS FUTURAS
A NÁLISIS DE LA CONSECUCIÓN DE LOS OBJETIVOS
El objetivo principal, que quedó plasmado en el Capítulo 2, de este Trabajo Fin de Grado consistirá en el desarrollo de una aplicación web que permita la evaluación de registros de acceso en tiempo real mediante el uso de tecnología Big Data. Ob2 Procesamiento de dichos registros de acceso mediante tecnología Big Data como Hadoop. Utilice técnicas de MapReduce para organizar la información en los archivos de registro y generar resultados valiosos.
Ob4 Haga una copia local de toda la información recuperada de Hadoop HDFS. Desarrollar una aplicación web que permita la visualización de evaluaciones completadas a través de datos almacenados en la base de datos. Conocer y profundizar en diversos estándares y criterios de calidad de la información, además de un conocimiento detallado de los tipos de formatos soportados por el archivo de registro y su funcionalidad.
Aprenda el uso de técnicas de Big Data como Hadoop para procesar grandes cantidades de datos. Familiarizarse con el uso de metodologías ágiles como OpenUp para lograr un desarrollo óptimo de la herramienta. Adquiera las habilidades necesarias para desarrollar una aplicación web utilizando un modelo-vista-controlador como Stack MEAN y otras tecnologías como HTML5 y CSS3.
P ROPUESTAS DE TRABAJOS FUTUROS
O PINIÓN PERSONAL DEL AUTOR
Al presionar este botón (Figura B 4), vemos una ventana emergente que indica que la evaluación está en progreso y que debe esperar unos segundos hasta que finalice. Cuando se presiona este botón (Figura B 6), vemos una ventana emergente que indica que la evaluación está en progreso y que se debe esperar unos segundos hasta que finalice. Cuando finaliza la evaluación aparece un nuevo botón de color azul turquesa a través del cual podemos ver el gráfico generado para dicha evaluación (Figura B 7).
Tan pronto como se presiona este botón (Figura B 8) vemos aparecer una ventana emergente que indica que la evaluación está en progreso y que hay que esperar unos segundos hasta que finalice. Cuando finaliza la evaluación aparece un nuevo botón de color azul turquesa a través del cual podemos ver el gráfico generado para dicha evaluación (Figura B 9). Tan pronto como se presiona este botón (Figura B 10) vemos aparecer una ventana emergente que indica que la evaluación está en progreso y que se debe esperar unos segundos hasta que finalice.
Cuando se complete la evaluación aparecerá un nuevo botón de color azul turquesa que nos permitirá visualizar el gráfico generado para esa evaluación (Figura B 11). Una vez presionado este botón (Figura B 12) veremos aparecer una ventana emergente indicando que la evaluación está en progreso y tendrás que esperar unos segundos para que se complete. Cuando se complete la evaluación aparecerá un nuevo botón de color azul turquesa que nos permitirá visualizar el gráfico generado para esa evaluación (Figura B 13).
Una vez presionado este botón (Figura B 14) veremos aparecer una ventana emergente indicando que la evaluación está en progreso y tendrás que esperar unos segundos para que se complete. Una vez presionado este botón (Figura B 16) veremos aparecer una ventana emergente indicando que la evaluación está en progreso y tendrás que esperar unos segundos para que se complete. Cuando se complete la evaluación aparecerá un nuevo botón de color azul turquesa que nos permitirá visualizar el gráfico generado para esa evaluación (Figura B 17).
Al presionar este botón (Figura B 18), vemos una ventana emergente que indica que la evaluación está en progreso y que se debe esperar unos segundos a que finalice. Al finalizar la evaluación aparece un nuevo botón de color azul turquesa, a través del cual podemos visualizar el gráfico que se creó para dicha evaluación (Figura B 19).