Introducción
Este tutorial muestra cómo recolectar y reenviar registros de un cluster DigitalOcean Kubernetes (DOKS) a una instancia DigitalOcean Managed OpenSearch utilizando AxoSyslog, un procesador de datos de seguridad escalable. Siga con este guía y aprenderá cómo configurar un sistema de registro robusto que capture y analice registros de sus aplicaciones Kubernetes, lo que facilita el monitoreo, la resolución de problemas y la seguridad de su infraestructura.
En este tutorial, utilizará AxoSyslog para reenviar registros de un cluster Kubernetes a OpenSearch.
Prerrequisitos
Antes de empezar, asegúrese de tener los siguientes prerequisitos en lugar:
- Necesitará acceso a una cuenta de Cloud de DigitalOcean para crear y administrar sus recursos de Kubernetes y OpenSearch.
- Debe instalar y configurar la herramienta de línea de comandos de DigitalOcean (CLI),
doctl
, en su máquina local. - Un cluster Kubernetes de DigitalOcean (DOKS) en ejecución.
- Debe instalar el administrador de paquetes de Kubernetes, Helm, para administrar aplicaciones en Kubernetes.
- Debe tener familiaridad con Kubernetes, Helm, y los servicios administrados de DigitalOcean.
Caso de uso
Este proyecto es ideal para situaciones en las que necesita una solución de registro centralizado para monitorear y analizar los registros de varias aplicaciones que se ejecutan en un cluster de Kubernetes. Tanto si está administrando un pequeño conjunto de aplicaciones como una infraestructura a gran escala, recolectar y reenviar los registros a un cluster OpenSearch dedicado ayuda en:
- Monitoreo de Seguridad: Detección y respuesta a incidentes de seguridad mediante el análisis de registros en tiempo real.
- Solución de problemas: Identifique y resuelva rápidamente problemas en sus aplicaciones Kubernetes accediendo a registros detallados.
- Cumplimiento de Regulaciones: Mantiene un registro de eventos para cumplir con las regulaciones de la industria.
Al integrar AxoSyslog con OpenSearch Gestionado de DigitalOcean, puede procesar y almacenar de manera eficiente grandes volúmenes de registros, lo que facilita extraer insights valiosos y mantener la salud y la seguridad de sus sistemas.
Paso 1 – Crear un clúster OpenSearch
En este paso, configurará el componente central de su sistema de registro, el clúster OpenSearch. OpenSearch será el destino para todos los registros que coleccione de su clúster Kubernetes. Creará una nueva instancia de OpenSearch en su región elegida en DigitalOcean ejecutando el siguiente comando.
Reemplace lon1
con su región deseada. Para listar los tamaños disponibles, visita nuestra documentación de referencia de la API.
Paso 2 – Generar algunos registros aleatorios
Antes de enviar los registros a OpenSearch, necesita tener algunos registros con los que trabajar. Si no tiene una aplicación que ya genere registros dentro de su clúster de Kubernetes, este paso le mostrará cómo desplegar un generador de registros. Este generador de registros producirá una corriente constante de registros de muestra que se pueden utilizar para probar y demostrar su tubería de registros.
Primero, agregue el repositorio de gráficos del generador de registros y instale el generador de registros:
A continuación, instale el generador de registros utilizando Helm:
Puede verificar que el generador de registros está funcionando consultando los registros que produce:
Paso 3 – Preparar AxoSyslog Collector para la Instalación
En este paso, configurará el AxoSyslog Collector, que es responsable de recopilar registros de su clúster de Kubernetes y enviarlos a OpenSearch. Esto implica proporcionar los detalles de conexión correctos para su clúster OpenSearch (nombre de host, usuario y contraseña).
Usaremos helm
para instalar el AxoSyslog Collector y pasar valores personalizados.
Para configurar el colector AxoSyslog con la dirección correcta, el usuario y la contraseña para su base de datos OpenSearch, siga los siguientes pasos:
Script Automatizado
Para simplificar la configuración, puede utilizar un script automatizado que obtiene los detalles de conexión necesarios de OpenSearch y actualiza su archivo de configuración AxoSyslog.
Guarde el siguiente script como update_axoflow_demo.sh
:
Asegúrese de tener permiso de ejecución en su script antes de ejecutarlo:
Este script obtendrá la información necesaria de su cuenta DigitalOcean mediante doctl
y actualizará su archivo axoflow-demo.yaml
de acuerdo.
Pasos Manuales para Actualizar axoflow-demo.yaml
Si prefiere configurar manualmente su colector AxoSyslog, siga estos pasos:
Ejecute el siguiente comando para extraer el ID de base de datos para opensearch-doks
:
Para recuperar el hostname, el nombre de usuario y la contraseña, ejecute los siguientes comandos respectivamente:
Ahora, necesitará actualizar manualmente el archivo axoflow-demo.yaml
:
Abra su archivo axoflow-demo.yaml
en un editor de texto y reemplace los campos relevantes con los valores extraídos:
Paso 4 – Instalar AxoSyslog-collector
Ahora que la configuración está completa, el siguiente paso es deployar el AxoSyslog Collector en su cluster de Kubernetes. Esto habilitará la recolección y reenvío de logs a OpenSearch.
Agregue el repositorio de Helm de AxoSyslog y instale el AxoSyslog Collector usando el archivo de configuración personalizado:
Para asegurarse de que los logs se están enviando al puerto correcto de OpenSearch, actualice la configuración del AxoSyslog Collector actualizando su configmap
:
Finalmente, elimine los pods existentes para aplicar la configuración actualizada:
Conclusión
Configurar un pipeline de registro de DigitalOcean Kubernetes a OpenSearch mediante AxoSyslog no solo centraliza sus registros, sino que también mejora su capacidad para monitorizar, analizar y asegurar sus aplicaciones. Mediante los pasos proporcionados en este guía, puede implementar rápidamente esta solución, obteniendo una visibilidad más profunda en su entorno de Kubernetes y garantizando que su infraestructura permanezca resistente y conforme.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch