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.
Este tema contiene las siguientes secciones:
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 ApplicationName
es 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.
Esta sección contiene los siguientes temas:
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:
-
Aplicación: las métricas se aplican a toda la aplicación.
-
Tarea: las métricas se ajustan al alcance de cada tarea. Para obtener más información acerca de las tareas, consulte Escalado de aplicaciones en Managed Service para Apache Flink.
-
Operador: se determina el alcance de las métricas para cada operador. Para obtener más información sobre los operadores, consulte Transformación de datos mediante operadores en Managed Service for Apache Flink con la API DataStream .
-
Paralelismo: las métricas se basan en el paralelismo de la aplicación. Solo puede establecer este nivel de métricas mediante el MonitoringConfigurationUpdateparámetro de la UpdateApplicationAPI. No puede establecer este nivel de métricas mediante la consola. Consulte Escalado de aplicaciones en Managed Service para Apache Flink para obtener información sobre el paralelismo.
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:
-
Compruebe que las políticas y el rol de IAM de su aplicación sean correctos. La política de su aplicación necesita los siguientes permisos para acceder a su flujo de registro:
logs:PutLogEvents
logs:DescribeLogGroups
logs:DescribeLogStreams
Para obtener más información, consulte Añadir permisos para escribir en el flujo de CloudWatch registro.
-
Comprobar que la aplicación se esté ejecutando. Para comprobar el estado de la aplicación, consulta la página de la aplicación en la consola o usa las ListApplicationsacciones DescribeApplicationo.
-
Supervise CloudWatch las métricas, por ejemplo,
downtime
para diagnosticar otros problemas de la aplicación. Para obtener información sobre la lectura de CloudWatch las métricas, consulteMétricas y dimensiones del servicio gestionado para Apache Flink.
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.