Logotipo de Zephyrnet

Mejore el monitoreo y la depuración de trabajos de AWS Glue mediante nuevas métricas de observabilidad de trabajos: Parte 2 | Servicios web de Amazon

Fecha:

Monitorear los canales de datos en tiempo real es fundamental para detectar problemas tempranamente y minimizar las interrupciones. Pegamento AWS ha hecho esto más sencillo con el lanzamiento de Métricas de observabilidad del trabajo de AWS Glue, que proporcionan información valiosa sobre sus canales de integración de datos creados en AWS Glue. Sin embargo, es posible que necesite realizar un seguimiento de los indicadores clave de rendimiento en varios trabajos. En este caso, un panel que pueda visualizar las mismas métricas con la capacidad de profundizar en problemas individuales es una solución eficaz para monitorear a escala.

Esta publicación explica cómo integrar las métricas de observabilidad del trabajo de AWS Glue con Grafana utilizando Grafana gestionado por Amazon. Analizamos los tipos de métricas y gráficos disponibles para mostrar información clave junto con dos casos de uso sobre el monitoreo de clases de errores y el rendimiento de sus trabajos de AWS Glue.

Resumen de la solución

Grafana es una herramienta de visualización de código abierto que le permite consultar, visualizar, alertar y comprender sus métricas sin importar dónde estén almacenadas. Con Grafana, puede crear, explorar y compartir paneles de control basados ​​en datos visualmente ricos. Las nuevas métricas de observabilidad de trabajos de AWS Glue se pueden integrar sin esfuerzo con Grafana para fines de monitoreo en tiempo real. Métricas como la utilización de los trabajadores, la asimetría, la tasa de E/S y los errores se capturan y visualizan en paneles de Grafana fáciles de leer. La integración con Grafana proporciona una forma flexible de crear vistas personalizadas del estado de la tubería adaptadas a sus necesidades. Las métricas de observabilidad abren capacidades de monitoreo que antes no eran posibles para AWS Glue. Las empresas que confían en AWS Glue para procesos de integración de datos críticos pueden tener una mayor confianza en que sus procesos funcionan de manera eficiente.

Las métricas de observabilidad del trabajo de AWS Glue se emiten como Reloj en la nube de Amazon métrica. Puede aprovisionar y administrar Amazon Managed Grafana y configurar el complemento CloudWatch para las métricas proporcionadas. El siguiente diagrama ilustra la arquitectura de la solución.

Implementar la solución

Complete los siguientes pasos para configurar la solución:

  1. Configurar un Espacio de trabajo de Grafana administrado por Amazon.
  2. Inicia sesión en tu espacio de trabajo.
  3. Elige Administración.
  4. Elige Agregar nueva fuente de datos.
  5. Elige Vigilancia de la nube.
  6. Región predeterminada, seleccione su región de AWS preferida.
  7. Espacios de nombres de métricas personalizadas, ingrese Pegamento.
  8. Elige Guardar y probar.

Ahora se ha registrado la fuente de datos de CloudWatch.

  1. Copie el ID de la fuente de datos de la URL https://g-XXXXXXXXXX.grafana-workspace.<region>.amazonaws.com/datasources/edit/<data-source-ID>/.

El siguiente paso es preparar el archivo de plantilla JSON.

  1. Descarga la plantilla de Grafana.
  2. Reemplaza <data-source-id> en el archivo JSON con su ID de fuente de datos de Grafana.

Por último, configure el panel.

  1. En la consola Grafana, elija Cuadros de mando.
  2. Elige Importa en Nuevo .
  3. Cargue su archivo JSON y elija Importa.

El panel de Grafana visualiza las métricas de observabilidad de AWS Glue, como se muestra en las siguientes capturas de pantalla.

El panel de muestra tiene los siguientes gráficos:

  • [Confiabilidad] Desglose de errores de ejecución de trabajos
  • [Rendimiento] Bytes de lectura y escritura
  • [Rendimiento] Registros leídos y escritos
  • [Utilización de recursos] Utilización de trabajadores
  • [Desempeño laboral] Asimetría
  • [Utilización de recursos] Disco utilizado (%)
  • [Utilización de recursos] Disco disponible (GB)
  • [OOM ejecutor] Recuento de errores de OOM
  • [Executor OOM] Memoria del montón utilizada (%)
  • [Controlador OOM] Recuento de errores de OOM
  • [Driver OOM] Memoria de montón utilizada (%)

Analizar las causas de los fracasos laborales.

Intentemos analizar las causas de las fallas en la ejecución del trabajo. iot_data_processing.

Primero, mire el gráfico circular [Confiabilidad] Desglose de errores de ejecución de trabajos. Este gráfico circular identifica rápidamente qué errores son más comunes.

Luego filtrar con el nombre del trabajo. iot_data_processing para ver los errores comunes para este trabajo.

Podemos observar que la mayoría (75%) de las fallas se debieron a glue.error.DISK_NO_SPACE_ERROR.

A continuación, observe el gráfico de líneas [Utilización de recursos] Disco utilizado (%) para comprender el espacio en disco utilizado por el controlador durante la ejecución del trabajo. Para este trabajo, la línea verde muestra el uso del disco del controlador y la línea amarilla muestra el promedio del uso del disco de los ejecutores.

Podemos observar que hubo tres ocasiones en las que se utilizó el 100% del disco en los ejecutores.

A continuación, observe el gráfico de líneas [Rendimiento] Registros de lectura y escritura para ver si se cambió el volumen de datos y si afectó el uso del disco.

El gráfico muestra que se leyeron alrededor de cuatro mil millones de registros al comienzo de este rango; sin embargo, en el pico se leyeron alrededor de 63 mil millones de registros. Esto significa que el volumen de datos entrantes ha aumentado significativamente y ha provocado una escasez de espacio en el disco local en los nodos trabajadores. Para tales casos, puede aumentar la cantidad de trabajadores, habilitar el escalado automático o elegir tipos de trabajadores más grandes.

Después de implementar esas sugerencias, podemos ver un menor uso del disco y una ejecución exitosa del trabajo.

(Opcional) Configurar la configuración entre cuentas

Opcionalmente podemos configurar una configuración entre cuentas. Las métricas entre cuentas dependen de Observabilidad entre cuentas de CloudWatch. En esta configuración, esperamos el siguiente entorno:

  • Las cuentas de AWS no se administran en Organizaciones de AWS
  • Tiene dos cuentas: una cuenta se usa como cuenta de monitoreo donde se encuentra Grafana, otra cuenta se usa como cuenta de origen donde se encuentra la canalización de integración de datos basada en AWS Glue.

Para configurar una configuración entre cuentas para este entorno, complete los siguientes pasos para cada cuenta.

Cuenta de seguimiento

Complete los siguientes pasos para configurar su cuenta de monitoreo:

  1. Inicia sesión en el Consola de administración de AWS utilizando la cuenta que utilizará para el seguimiento.
  2. En la consola de CloudWatch, elija Ajustes en el panel de navegación.
  3. under Configuración de la cuenta de seguimiento, escoger Configurar.
  4. Seleccionar datos, escoger Métrica.
  5. Listar cuentas de origen, ingrese el ID de la cuenta de AWS de la cuenta de origen que verá esta cuenta de monitoreo.
  6. Defina una etiqueta para identificar su cuenta de origen, escoger nombre de la cuenta.
  7. Elige Configurar.

Ahora la cuenta está configurada correctamente como cuenta de seguimiento.

  1. under Configuración de la cuenta de seguimiento, escoger Recursos para vincular cuentas.
  2. Elige cualquier cuenta para obtener una URL para configurar cuentas individuales como cuentas de origen.
  3. Elige Copiar URL.

Utilizará la URL copiada de la cuenta de origen en los siguientes pasos.

Cuenta de origen

Complete los siguientes pasos para configurar su cuenta de origen:

  1. Inicie sesión en la consola con su cuenta de origen.
  2. Ingrese la URL que copió de la cuenta de monitoreo.

Puede ver la página de configuración de CloudWatch, con cierta información completa.

  1. Seleccionar datos, escoger Métrica.
  2. No cambie el ARN en Ingrese el ARN de configuración de la cuenta de monitoreo.
  3. El Defina una etiqueta para identificar su cuenta de origen La sección está precompletada con la elección de etiqueta de la cuenta de monitoreo. Opcionalmente, elija Editar para cambiarlo.
  4. Elige Enlace.
  5. Participar Confirm en el cuadro y elige Confirmar.

Ahora su cuenta de origen ha sido configurada para vincularse a la cuenta de monitoreo. Las métricas emitidas en la cuenta de origen se mostrarán en el panel de Grafana en la cuenta de monitoreo.

Para aprender más, vea Observabilidad entre cuentas de CloudWatch.

Consideraciones

Las siguientes son algunas consideraciones al utilizar esta solución:

  • La integración de Grafana está definida para el monitoreo en tiempo real. Si tiene un conocimiento básico de sus trabajos, le resultará sencillo monitorear el rendimiento, los errores y más en el panel de Grafana.
  • Amazon Managed Grafana depende de Centro de identificación de AWS IAM. Esto significa que debe administrar los usuarios de inicio de sesión único (SSO) por separado, no solo Gestión de identidades y accesos de AWS (IAM) usuarios y roles. También requiere otro paso de inicio de sesión desde la consola de AWS. El modelo de precios de Amazon Managed Grafana depende de una licencia de usuario activa por espacio de trabajo. Más usuarios pueden generar más cargos.
  • Las líneas del gráfico se visualizan por trabajo. Si desea ver las líneas en todos los trabajos, puede elegir TODAS en el control.

Conclusión

Las métricas de observabilidad de trabajos de AWS Glue ofrecen una nueva y poderosa capacidad para monitorear el rendimiento de la canalización de datos en tiempo real. Al transmitir métricas clave a CloudWatch y visualizarlas en Grafana, obtiene una visibilidad más detallada que antes no era posible. Esta publicación mostró lo sencillo que es habilitar métricas de observabilidad e integrar los datos con Grafana mediante Amazon Managed Grafana. Exploramos las diferentes métricas disponibles y cómo crear paneles de Grafana personalizados para generar información útil.

La observabilidad es ahora una parte esencial de una orquestación sólida de datos en AWS. Con la capacidad de monitorear las tendencias de integración de datos en tiempo real, puede optimizar los costos, el rendimiento y la confiabilidad.


Acerca de los autores

Noritaka Sekiyama es Arquitecto Principal de Big Data en el equipo de AWS Glue. Es responsable de crear artefactos de software para ayudar a los clientes. En su tiempo libre, disfruta andar en bicicleta con su nueva bicicleta de carretera.

Xiaoxi Liu es ingeniero de desarrollo de software en el equipo de AWS Glue. Su pasión es construir sistemas distribuidos escalables para gestionar eficientemente big data en la nube, y sus especialidades son sistemas distribuidos, big data y computación en la nube.

Akira Ajisaka es ingeniero sénior de desarrollo de software en el equipo de AWS Glue. Le gusta el software de código abierto y los sistemas distribuidos. En su tiempo libre le gusta jugar juegos arcade.

Shenoda Guirguis es ingeniero sénior de desarrollo de software en el equipo de AWS Glue. Su pasión es la construcción de sistemas de procesamiento e infraestructura de datos escalables y distribuidos. Cuando tiene la oportunidad, a Shenoda le gusta leer y jugar fútbol.

sean ma es gerente principal de productos en el equipo de AWS Glue. Tiene una trayectoria de 18 años innovando y ofreciendo productos empresariales que liberan el poder de los datos para los usuarios. Fuera del trabajo, Sean disfruta del buceo y del fútbol universitario.

mohit saxena es gerente senior de desarrollo de software en el equipo de AWS Glue. Su equipo se enfoca en crear sistemas distribuidos para permitir a los clientes con interfaces interactivas y fáciles de usar administrar y transformar de manera eficiente petabytes de datos sin problemas a través de lagos de datos en Amazon S3, bases de datos y almacenes de datos en la nube.

punto_img

Información más reciente

punto_img