Configurar el registro de aplicaciones - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar el registro de aplicaciones

Al añadir una opción de CloudWatch registro de Amazon a su aplicación Managed Service for Apache Flink, puede supervisar los eventos de la aplicación o los problemas de configuración.

En este tema se describe cómo configurar la aplicación para escribir los eventos de la aplicación en una transmisión de CloudWatch registros. Una opción de CloudWatch registro es un conjunto de ajustes y permisos de la aplicación que la aplicación utiliza para configurar la forma en que escribe los eventos de la aplicación en los CloudWatch registros. Puede agregar y configurar una opción de CloudWatch registro mediante la tecla () AWS Management Console o la tecla AWS Command Line Interface (AWS CLI).

Tenga en cuenta lo siguiente sobre la adición de una opción de CloudWatch registro a su aplicación:

  • Al añadir una opción de CloudWatch registro mediante la consola, Managed Service for Apache Flink crea el grupo de CloudWatch registros y el flujo de registros automáticamente y añade los permisos que la aplicación necesita para escribir en el flujo de registros.

  • Al añadir una opción de CloudWatch registro mediante la API, también debe crear el grupo de registros y el flujo de registros de la aplicación, además de añadir los permisos que la aplicación necesita para escribir en el flujo de registros.

Configurar el CloudWatch registro mediante la consola

Al habilitar el CloudWatch registro de la aplicación en la consola, se crean CloudWatch automáticamente un grupo de registros y un flujo de registros. Además, la política de permisos de la aplicación se actualiza con los permisos para escribir en la transmisión.

Managed Service for Apache Flink crea un grupo de registros denominado según la siguiente convención, donde ApplicationNamees el nombre de la aplicación.

/AWS/KinesisAnalytics/ApplicationName

Managed Service para Apache Flink crea un flujo de registro en el nuevo grupo de registro con el siguiente nombre.

kinesis-analytics-log-stream

Para establecer el nivel de métricas de supervisión de la aplicación y el nivel de registro de supervisión, utilice la sección del nivel de registro de supervisión de la página de configuración de la aplicación. Para obtener más información acerca de los niveles del flujo de la aplicación, consulte Niveles de supervisión de aplicaciones.

Configuración del CloudWatch registro mediante la CLI

Para añadir una opción de CloudWatch registro mediante el AWS CLI, haga lo siguiente:

  • Cree un grupo de CloudWatch registros y un flujo de registros.

  • Añada una opción de registro al crear una aplicación mediante la CreateApplicationacción o añada una opción de registro a una aplicación existente mediante la AddApplicationCloudWatchLoggingOptionacción.

  • Añada permisos a la política de la aplicación para escribir en los registros.

Crear un grupo de CloudWatch registros y un flujo de registros

Puede crear un grupo de CloudWatch registros y transmitirlos mediante la consola de CloudWatch registros o la API. Para obtener información sobre cómo crear un grupo de CloudWatch registros y un flujo de registros, consulte Trabajar con grupos de registros y flujos de registros.

Trabajar con las opciones de CloudWatch registro de aplicaciones

Utilice las siguientes acciones de la API para añadir una opción de CloudWatch registro a una aplicación nueva o existente o para cambiar una opción de registro de una aplicación existente. Para obtener información sobre cómo utilizar un archivo JSON como entrada para una acción de API, consulte Código de ejemplo de la API de Managed Service for Apache Flink.

Añadir una opción de CloudWatch registro al crear una aplicación

El siguiente ejemplo muestra cómo utilizar la CreateApplication acción para añadir una opción de CloudWatch registro al crear una aplicación. En el ejemplo, sustituya el nombre de recurso de Amazon (ARN) del flujo de CloudWatch registro para añadirlo a la nueva aplicación con su propia información. Para obtener más información sobre la acción, consulte CreateApplication.

{ "ApplicationName": "test", "ApplicationDescription": "test-application-description", "RuntimeEnvironment": "FLINK-1_15", "ServiceExecutionRole": "arn:aws:iam::123456789123:role/myrole", "ApplicationConfiguration": { "ApplicationCodeConfiguration": { "CodeContent": { "S3ContentLocation":{ "BucketARN": "arn:aws:s3:::mybucket", "FileKey": "myflink.jar" } }, "CodeContentType": "ZIPFILE" } }, "CloudWatchLoggingOptions": [{ "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>" }] }

Añadir una opción de CloudWatch registro a una aplicación existente

En el siguiente ejemplo, se muestra cómo utilizar la AddApplicationCloudWatchLoggingOption acción para añadir una opción de CloudWatch registro a una aplicación existente. En el siguiente ejemplo, reemplace cada marcador de posición del usuario con su propia información. Para obtener más información sobre la acción, consulte AddApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of the application to add the log option to>", "CloudWatchLoggingOption": { "LogStreamARN": "<ARN of the log stream to add to the application>" }, "CurrentApplicationVersionId": <Version of the application to add the log to> }

Actualización de una opción de CloudWatch registro existente

En el siguiente ejemplo, se muestra cómo utilizar la UpdateApplication acción para modificar una opción de CloudWatch registro existente. En el siguiente ejemplo, reemplace cada marcador de posición del usuario con su propia información. Para obtener más información sobre la acción, consulte UpdateApplication.

{ "ApplicationName": "<Name of the application to update the log option for>", "CloudWatchLoggingOptionUpdates": [ { "CloudWatchLoggingOptionId": "<ID of the logging option to modify>", "LogStreamARNUpdate": "<ARN of the new log stream to use>" } ], "CurrentApplicationVersionId": <ID of the application version to modify> }

Eliminar una opción de CloudWatch registro de una aplicación

En el siguiente ejemplo, se muestra cómo utilizar la DeleteApplicationCloudWatchLoggingOption acción para eliminar una opción de CloudWatch registro existente. En el siguiente ejemplo, reemplace cada marcador de posición del usuario con su propia información. Para obtener más información sobre la acción, consulte DeleteApplicationCloudWatchLoggingOption.

{ "ApplicationName": "<Name of application to delete log option from>", "CloudWatchLoggingOptionId": "<ID of the application log option to delete>", "CurrentApplicationVersionId": <Version of the application to delete the log option from> }

Establecer el nivel de registro de la aplicación

Para establecer el nivel de registro de la aplicación, utilice el parámetro MonitoringConfiguration de la acción CreateApplication o el parámetro MonitoringConfigurationUpdate de la acción UpdateApplication.

Para obtener más información acerca de los niveles del flujo de la aplicación, consulte Niveles de supervisión de aplicaciones.

Establezca el nivel de registro de la aplicación al crear una aplicación

El siguiente ejemplo de solicitud de la acción CreateApplication establece el nivel de registro de la aplicación en INFO.

{ "ApplicationName": "MyApplication", "ApplicationDescription": "My Application Description", "ApplicationConfiguration": { "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::mybucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "CodeContentType":"ZIPFILE" }, "FlinkApplicationConfiguration": "MonitoringConfiguration": { "ConfigurationType": "CUSTOM", "LogLevel": "INFO" } }, "RuntimeEnvironment": "FLINK-1_15", "ServiceExecutionRole": "arn:aws:iam::123456789123:role/myrole" }
Actualice el nivel de registro de la aplicación

El siguiente ejemplo de solicitud de la acción UpdateApplication establece el nivel de registro de la aplicación en INFO.

{ "ApplicationConfigurationUpdate": { "FlinkApplicationConfigurationUpdate": { "MonitoringConfigurationUpdate": { "ConfigurationTypeUpdate": "CUSTOM", "LogLevelUpdate": "INFO" } } } }

Añadir permisos para escribir en el flujo de CloudWatch registro

El servicio gestionado de Apache Flink necesita permisos para escribir errores de configuración en él. CloudWatch Puede añadir estos permisos a la función AWS Identity and Access Management (IAM) que asume Managed Service for Apache Flink.

Para obtener más información sobre el uso de un rol de IAM para Managed Service para Apache Flink, consulte Identidad y gestión de acceso para Amazon Managed Service para Apache Flink.

Política de confianza

Para conceder permisos a Managed Service para Apache Flink para asumir un rol de IAM, puede asignar la siguiente política de confianza al rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanlaytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Política de permisos

Para conceder permisos a una aplicación para escribir eventos de registro CloudWatch desde un recurso de Managed Service for Apache Flink, puede utilizar la siguiente política de permisos de IAM. Proporcione los nombres de recursos de Amazon (ARN) para el grupo de registro y flujo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt0123456789000", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*", "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:*", "arn:aws:logs:us-east-1:123456789012:log-group:*", ] } ] }

Niveles de supervisión de aplicaciones

Usted controla la generación de los mensajes de registro de la aplicación mediante el nivel de métricas de monitoreo y el nivel de registro de monitoreo de la aplicación.

El nivel de métricas de supervisión de la aplicación controla la granularidad de los mensajes de registro. Los niveles de las métricas de monitoreo se definen de la siguiente manera:

El nivel de registro de supervisión de la aplicación controla la verbosidad del registro de la aplicación. Los niveles de registro de monitoreo se definen de la siguiente manera:

  • Error: posibles eventos catastróficos de la aplicación.

  • Advertencia: situaciones potencialmente dañinas de la aplicación.

  • Información: eventos de fallo informativos y transitorios de la aplicación. Recomendamos utilizar este nivel de registro.

  • Depuración: eventos informativos detallados que son muy útiles para depurar una aplicación. Nota: utilice este nivel únicamente con fines de depuración temporal.

Prácticas recomendadas de registro

Se recomienda que la aplicación utilice el nivel de registro de información. Recomendamos este nivel para asegurarse de que aparecen los errores de Apache Flink, que se registran en el nivel de información y no en el nivel de error.

Le recomendamos que utilice el nivel de depuración solo de forma temporal mientras investiga los problemas de las aplicaciones. Vuelva al nivel de información cuando se resuelva el problema. El uso del nivel de registro de depuración afectará significativamente al rendimiento de la aplicación.

El registro excesivo también puede afectar significativamente al rendimiento de la aplicación. Por ejemplo, le recomendamos que no escriba una entrada de registro para cada registro procesado. El registro excesivo puede provocar graves cuellos de botella en el procesamiento de datos y provocar retrasos a la hora de leer los datos de las fuentes.

Solución de problemas de registro

Si los registros de la aplicación no se escriben en el flujo de registro, compruebe lo siguiente:

Siguiente paso

Una vez que haya habilitado el CloudWatch registro en su aplicación, puede usar CloudWatch Logs Insights para analizar los registros de la aplicación. Para obtener más información, consulte Analizar los CloudWatch registros con Logs Insights.