Agregue logs mediante el servicio de búsqueda de OCI con OpenSearch

El servicio de búsqueda de OCI con OpenSearch, el servicio gestionado OpenSearch de Oracle, permite buscar grandes conjuntos de datos y mostrar los resultados en milisegundos aprovechando un índice potente. OpenSearch es un conjunto de análisis y búsqueda de código abierto impulsado por la comunidad derivado de Apache 2.0 con licencia de Elasticsearch 7.10.2 y Kibana 7.10.2.

El servicio de búsqueda de OCI con OpenSearch consta de:
  • un daemon del motor de búsqueda - OpenSearch
  • una visualización e interfaz de usuario: paneles de control OpenSearch
Con el servicio de búsqueda de OCI con OpenSearch, puede aprovechar las mismas API de Elasticsearch y Kibana, lo que permite migraciones simplificadas de las pilas existentes.
¿Con qué ayuda OCI Search Service OpenSearch?
  • Analizar los logs
    • Almacene, investigue y conecte datos de eventos para solucionar problemas lo más rápido posible y mejorar el rendimiento de las aplicaciones.
    • Amplíe sin problemas el tamaño del cluster para ver las fluctuaciones estacionales en los datos de eventos.
    Por ejemplo: una compañía de incentivos de viaje puede utilizar el servicio de búsqueda de OCI con OpenSearch para analizar los volúmenes de llamadas de varios proveedores con el fin de abordar y resolver rápidamente los problemas para que sus solicitudes de clientes lleguen al equipo deseado.
  • Búsqueda de Aplicación

    Los conjuntos de datos aumentan constantemente el tamaño y se necesita una experiencia de búsqueda rápida y personalizada para sus aplicaciones, sitios web y repositorios de datos de gran tamaño. El servicio de búsqueda de OCI con OpenSearch puede activar los resultados más rápidos según la frecuencia de determinados datos/páginas que se obtengan o se basan en el tiempo.

    Por ejemplo: un negocio de archivado de fotos podría hacer que los resultados de las imágenes sean más rápidos para aquellas imágenes que se han solicitado recientemente mientras se mueven las imágenes más antiguas y menos accedidas al almacenamiento en caliente para mantener la indexación lo más rápido posible.

Arquitectura

Esta arquitectura de referencia muestra un caso de uso sencillo para el registro, el procesamiento y la consolidación del servidor.

El siguiente diagrama ilustra esta arquitectura de referencia.



oci-opensearch-log-analytics-arch-oracle.zip

El diagrama anterior muestra un entorno de aplicación simplificado de alta disponibilidad en OCI, con un enfoque en dos instancias de máquina virtual detrás de un equilibrador de carga. Las instancias existen en dos dominios de disponibilidad distintos.

Cada instancia de máquina virtual utiliza Filebeat para reenviar logs. Filebeat es un agente ligero, instalado en las instancias de máquina virtual, que supervisa las ubicaciones y los archivos log especificados, recopila eventos de log y los reenvía a Logstash.

Logstash: el pipeline de procesamiento de datos para el análisis y transformación de logs, se ejecuta en instancias ubicadas en dos dominios de disponibilidad distintos. Logstash, a su vez, envía los logs transformados al servicio de búsqueda de OCI con OpenSearch

El servicio de búsqueda de OCI con OpenSearch es un servicio gestionado regional con redundancia integrada. El servicio de búsqueda de OCI con OpenSearch incluye puntos finales privados para los paneles de control OpenSearch y OpenSearch, por lo que su tráfico no atraviesa Internet.

Para conectarse al servicio de búsqueda de OCI con OpenSearch desde una máquina local, configure un host bastión en una subred pública y una regla de ruta con el gateway de Internet como destino. Puede utilizar un host bastión para el reenvío de puertos (también conocido como túnel SSH), creando una conexión segura entre un puerto de su elección en la máquina y los puertos de destino de punto final privado OpenSearch / OpenSearch de los paneles de control deseados:
  • 9200 para OpenSearch
  • 5601 para paneles de control OpenSearch
También se puede acceder a las instancias de aplicación, que están presentes en una subred privada, a través del host bastión.

La arquitectura tiene los siguientes componentes:

  • Arrendamiento

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al conectarse a Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud en su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un solo arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un solo arrendamiento suele estar asociado a una única suscripción y una única suscripción solo suele tener un arrendamiento.

  • Políticas

    Una política de Oracle Cloud Infrastructure Identity and Access Management especifica quién puede acceder a qué recursos y cómo. El acceso se otorga en el nivel de grupo y compartimento, lo que significa que puede escribir una política que proporcione a un grupo un tipo específico de acceso dentro de un compartimento específico o al arrendamiento.

  • Compartimentos

    Los compartimentos son particiones lógicas entre regiones dentro de un arrendamiento de Oracle Cloud Infrastructure. Utilice compartimentos para organizar los recursos en Oracle Cloud, controlar el acceso a los recursos y definir cuotas de uso. Para controlar el acceso a los recursos de un compartimento determinado, debe definir políticas que especifiquen quién puede acceder a los recursos y qué acciones pueden realizar.

  • Red virtual en la nube

    Uno de sus primeros pasos en OCI es configurar una red virtual en la nube (VCN) para sus recursos en la nube. Una VCN es una red definida por software que se configura en una región de OCI. Las VCN se pueden segmentar en subredes, que pueden ser específicas de una región o de un dominio de disponibilidad. Tanto las subredes específicas de la región como las específicas del dominio de disponibilidad pueden coexistir en la misma VCN. Una subred puede ser pública o privada.

  • Dominios de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, que ofrecen tolerancia a los fallos. Los dominios de disponibilidad no comparten una infraestructura como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. 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.

  • Host bastión

    El host bastion es una instancia informática que sirve como punto de entrada seguro y controlado a la topología desde fuera de la nube. Permite acceder a recursos confidenciales ubicados en redes privadas a los que no se puede acceder directamente desde fuera de la nube. La topología tiene un único punto de entrada conocido que puede supervisar y auditar con regularidad, por lo que puede evitar exponer los componentes más sensibles de la topología sin comprometer el acceso a ellos.

  • equilibrador de carga

    El servicio Oracle Cloud Infrastructure Load Balancing proporciona una distribución automatizada de tráfico desde un único punto de entrada a varios servidores en el backend.

  • Instancia informática

    Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts de recursos informáticos. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos (CPU, memoria, ancho de banda de red y almacenamiento). Después de crear una instancia informática, puede accederla de forma segura, reiniciarla, asociar y desasociar volúmenes y terminarla cuando no lo necesite.

  • Gateway de internet

    El gateway de Internet permite el tráfico entre las subredes públicas de una VCN y la red pública de Internet.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las VCN de la misma región, entre una VCN y una red fuera de la región, como una VCN en otra región de Oracle Cloud Infrastructure, una red local o una red en otro proveedor en la nube.

  • Vault

    Oracle Cloud Infrastructure Vault permite gestionar de forma centralizada las claves de cifrado que protegen los datos y las credenciales secretas que utiliza para proteger el acceso a los recursos en la nube.

  • VPN de sitio a sitio

    La VPN de sitio a sitio proporciona conectividad VPN con IPSec entre la red local y las VCN en Oracle Cloud Infrastructure. El conjunto de protocolos IPSec cifra el tráfico IP antes de transferir los paquetes del origen al destino y desciende el tráfico cuando llega.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión privada dedicada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect ofrece opciones de un ancho de banda superior y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Firewall de aplicaciones web (WAF)

    Oracle Cloud Infrastructure Web Application Firewall (WAF) es un servicio de aplicación de borde, regional y basado en el sector de tarjetas de pago (PCI) que se asocia a un punto de aplicación, como un equilibrador de carga o un nombre de dominio de aplicación web. WAF protege las aplicaciones del tráfico de Internet malicioso y no deseado. WAF puede proteger cualquier punto final orientado a Internet, lo que proporciona un cumplimiento de reglas consistente en todas las aplicaciones de clientes.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Es posible que sus requisitos difieran de la arquitectura descrita aquí.
  • VCN

    Al crear una VCN, determine el número de bloques de CIDR necesarios y el tamaño de cada bloque en función del número de recursos que planea asociar a las subredes de la VCN. Utilice bloques CIDR que se encuentren dentro del espacio de direcciones IP privadas estándar.

    Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) a la que desea configurar conexiones privadas.

    Después de crear una VCN, puede cambiar, agregar y eliminar sus bloques de CIDR.

    Al diseñar las subredes, tenga en cuenta el flujo de tráfico y los requisitos de seguridad. Conecte todos los recursos de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.

  • Seguridad

    Utilice políticas para restringir quién puede acceder a los recursos de OCI que tiene su compañía y cómo puede acceder a ellos. Se necesitan políticas específicas para un servicio de búsqueda de OCI correcto con la creación del cluster OpenSearch. Utilice Vault para obtener protección adicional de sus claves, certificados y secretos.

    El servicio de red ofrece dos funciones de firewall virtual que utilizan reglas de seguridad para controlar el tráfico en el nivel de paquete: listas de seguridad y grupos de seguridad de red (NSG). Un NSG está formado por un conjunto de reglas de seguridad de entrada y salida que se aplican solo a un conjunto de VNIC que se pueden elegir en una única VCN. Por ejemplo, puede seleccionar todas las instancias informáticas que actúan como servidores web en el nivel web de una aplicación de varios niveles en la VCN.

    Las reglas de seguridad NSG son las mismas que las reglas de listas de seguridad. Sin embargo, para el origen o el destino de una regla de seguridad de un NSG, puede especificar un NSG en lugar de un bloque de CIDR. Por lo tanto, puede escribir con facilidad reglas de seguridad para controlar el tráfico entre dos grupos de seguridad de red en la misma VCN o el tráfico dentro de un solo grupo de seguridad de red. Al crear un sistema de base de datos, puede especificar uno o más NSG. También puede actualizar un sistema de base de datos existente para usar uno o más grupos de servicios de red.

  • Recursos informáticos

    Elija unidades con las OCPU y la combinación de memoria adecuadas, y aprovisione el almacenamiento de bloques y/o NVMe local según sea necesario para cada instancia.

Consideraciones

Al implementar esta arquitectura, tenga en cuenta los requisitos para los siguientes parámetros:

  • Registro

    En esta arquitectura de referencia, utilizamos Logstash para el análisis y la transformación de logs.

    El archivo también puede enviar logs directamente a OpenSearch. Este enfoque podría utilizarse en el caso de un tipo único de troncos o registros muy uniformes. El latido de archivos carece de la capacidad de filtrado y transformación avanzados de logs, lo que dificulta la agregación de logs de diferentes tipos cuando su formato es distinto.

  • Instancias

    En esta arquitectura de referencia, utilizamos instancias dedicadas para Logstash. Como alternativa, Logstash se puede ejecutar en cada instancia o servidor de origen. Esto da como resultado un mayor consumo de recursos en las instancias o servidores de origen.

    Para una alta disponibilidad de Logstash, considere utilizar varias instancias y repartir entre dominios de errores o dominios de disponibilidad. El latido de archivos puede equilibrar la carga entre instancias de Logstash sin un equilibrador de carga independiente.

  • Colas persistentes

    Considere la posibilidad de configurar colas persistentes para Logstash. Una cola persistente de bloqueo de log ayuda a proteger contra la pérdida de datos durante la terminación anormal almacenando la cola de mensajes en ejecución en el disco.

Confirmaciones

  • Autor: Nuno Goncalves
  • Contribuyentes: Jordan Oliver, Hassan Ajan, Mark de Visser, Samuel Herman, Anupama Pundpal