Almacenar y analizar los logs locales en Oracle Cloud Infrastructure
Oracle Cloud Infrastructure Data Flow es un servicio Apache Spark ™ totalmente gestionado que es ideal para procesar grandes volúmenes de archivos log.
Los archivos log se están generando todo el tiempo. Todo, desde hardware, sistemas operativos, dispositivos de red, servicios web y aplicaciones, generan registros de forma continua. Analizar estos datos de registro ayuda con la resolución de problemas y diagnósticos, reparaciones predictivas, detección de intrusiones, patrones de acceso web y mucho más.
Data Flow permite el almacenamiento centralizado de datos de log en Oracle Cloud Infrastructure Object Storage. Permite el análisis de los datos mediante la creación de una aplicación Apache Spark una vez y, a continuación, su ejecución en archivos log nuevos a medida que llegan a Object Storage. A continuación, la salida de este análisis se puede cargar en Autonomous Data Warehouse para consultar e informar. Y todo esto se hace sin gastos generales como el aprovisionamiento de clusters o instalaciones de software.
Arquitectura
Esta arquitectura muestra el flujo de datos que se conecta al almacenamiento de objetos, analiza los archivos log y guarda los resultados en Autonomous Data Warehouse para la generación de informes.
El siguiente diagrama ilustra esta arquitectura de referencia.

Descripción de la ilustración architecture-analyze-logs.png
La arquitectura tiene los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los demás dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, o la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.
- Dominios de fallo
Un dominio de fallos es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de fallos con energía y hardware independientes. Cuando distribuye recursos en varios dominios de fallos, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía dentro de un dominio de fallos.
- Red virtual en la nube (VCN) y subredes
Una VCN es una red personalizable definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes tradicionales de centros de datos, las VCN le dan un control completo sobre su entorno de red. Una VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, que se pueden asignar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se superponen con las otras subredes en VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Almacenamiento de objetos
El almacenamiento de objetos proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de bases de datos, datos analíticos y contenido rico, como imágenes y vídeos. Utilice almacenamiento estándar para almacenamiento "caliente" al que necesita acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivos para el almacenamiento "frío" que conserva durante largos períodos de tiempo y rara vez o rara vez tiene acceso.
- Almacén de datos autónomo
Oracle Autonomous Data Warehouse es un servicio de base de datos autogestionable, autoseguro y autoreparador optimizado para cargas de trabajo de almacenamiento de datos. No necesita configurar ni administrar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure maneja la creación de la base de datos, así como la copia de seguridad, aplicación de parches, actualización y ajuste de la base de datos.
- Flujo de datos
Oracle Cloud Infrastructure Data Flow es un servicio totalmente gestionado para ejecutar aplicaciones Apache Spark ™. Permite a los desarrolladores centrarse en sus aplicaciones y proporciona un entorno de tiempo de ejecución fácil para ejecutarlas. Tiene una interfaz de usuario sencilla y sencilla con soporte API para la integración con aplicaciones y flujos de trabajo. No necesita pasar ningún tiempo en la infraestructura subyacente, el aprovisionamiento de clústeres o la instalación de software.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- VCN
Al crear un VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que tiene previsto asociar a subredes en VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.
Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, el centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.
Después de crear un VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Cuando diseñe las subredes, tenga en cuenta sus requisitos de flujo de tráfico y seguridad. Conecte todos los recursos dentro de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
- Almacenamiento de objetos
Ingiera todos los archivos log en Oracle Cloud Infrastructure Object Storage. Determine el tamaño de lote adecuado en función de los requisitos de negocio y ejecute las aplicaciones de flujo de datos para procesar los archivos.
- Flujo de datos
No es necesaria ninguna configuración especial. Sin embargo, se recomiendan formas de VM más grandes para el controlador y los ejecutores de Spark en función de la cantidad de datos de log que se están procesando en cada ejecución de la aplicación.
- Oracle Autonomous Data Warehouse
Asegúrese de que la cartera necesaria para acceder al almacén de datos se almacene en un lugar seguro y solo los usuarios autorizados pueden acceder a ella. Una consideración para el despliegue de Autonomous Data Warehouse sería crear esto en VCN como punto final privado.
- Seguridad
Utilice la solución Oracle Cloud Infrastructure Identity and Access Management para aplicar políticas y proporcionar acceso a los usuarios, grupos y recursos. La aplicación Spark necesitará acceso a los cubos para leer los archivos log. Utilice el servicio de almacén para almacenar la contraseña necesaria para acceder a Autonomous Data Warehouse.
Consideraciones
- Frecuencia
La frecuencia con la que ejecuta la aplicación depende del volumen y la frecuencia de los archivos log entrantes. La aplicación Spark se debe escribir con una lógica adecuada para que pueda manejar este lote entrante de datos. Una directriz general es el tiempo que se tarda en procesar cada lote se debe alinear con la frecuencia de refrescamiento necesaria en Autonomous Data Warehouse mediante servicios descendentes que consumen la salida procesada.
- Rendimiento
Varios factores afectan al rendimiento, pero lo más importante es la distribución de datos y la partición de los archivos log entrantes. La aplicación Spark se puede ejecutar en cada partición en paralelo con OCPU y recursos de memoria según sea necesario. Oracle Cloud Infrastructure Data Flow proporciona total elasticidad para gestionar los recursos necesarios para cada ejecución de la aplicación.
- Seguridad
Utilice políticas para restringir quién puede acceder a los recursos de Oracle Cloud Infrastructure y hasta qué punto. Utilice Oracle Cloud Infrastructure Identity and Access Management (IAM) para asignar privilegios a usuarios y grupos de usuarios específicos para Data Flow y ejecutar la gestión en Data Flow.
El cifrado está activado para Oracle Cloud Infrastructure Object Storage por defecto y no se puede desactivar.
- Costo
Oracle Cloud Infrastructure Data Flow se paga por uso, por lo que sólo paga al ejecutar la aplicación Data Flow, no al crearla. Es recomendable almacenar los logs utilizando diferentes niveles disponibles: Object Store (almacenamiento "caliente") y Archive Store (almacenamiento "frío"). A continuación, los datos procesados se pueden almacenar en Autonomous Data Warehouse.
Desplegar
El código Terraform para esta arquitectura de referencia está disponible en GitHub.
- Vaya a GitHub.
- Clone o descargue el repositorio en su computadora local.
- Siga las instrucciones del documento
README
.
Más información
Para obtener más información sobre Oracle Cloud Infrastructure Data Flow, consulte los siguientes recursos.
- Tutorial: Configure Data Flow para procesar los logs locales en Oracle Cloud Infrastructure
- Flujo de datos de infraestructura de Oracle Cloud
- Oracle Cloud Infrastructure Data Flow- Nivel 100- Youtube
- Colocación de datos en el almacenamiento de objetos
- Marco de mejores prácticas para Oracle Cloud Infrastructure