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 en Managed Service for Apache Flink
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 laAPI, 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.
Configure 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 su 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 Controle los niveles de monitoreo de las aplicaciones.
Configure el CloudWatch registro mediante el CLI
Para añadir una opción de CloudWatch registro mediante el AWS CLI, complete 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.
Cree un grupo de CloudWatch registros y un flujo de registros
Puede crear un grupo de CloudWatch registros y transmitirlo mediante la consola de CloudWatch registros o laAPI. 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.
Trabaje con las opciones de CloudWatch registro de aplicaciones
Utilice las siguientes API acciones 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 JSON archivo como entrada para una API acción, consulteCódigo de API ejemplo de Managed Service for Apache Flink.
Añada una opción de CloudWatch registro al crear una aplicación
En el siguiente ejemplo, se 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 Amazon Resource Name
(ARN) of the CloudWatch Log stream to add to the new
application
con tu 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:::amzn-s3-demo-bucket", "FileKey": "myflink.jar" } }, "CodeContentType": "ZIPFILE" } }, "CloudWatchLoggingOptions": [{ "LogStreamARN": "
<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>
" }] }
Agregue 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 ejemplo, sustituya cada user input placeholder
con tu 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>
}
Actualizar 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 ejemplo, sustituya cada user input placeholder
con tu 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 ejemplo, sustituya cada user input
placeholder
con tu 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>
}
Establezca 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 Controle los niveles de monitoreo de las 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:::amzn-s3-demo-bucket", "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" } } } }
Agregue 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 IAM rol de servicio gestionado para Apache Flink, consulte. Identidad y gestión de acceso para Amazon Managed Service para Apache Flink
Política de confianza
Para conceder a Managed Service for Apache Flink permisos para asumir una IAM función, puedes adjuntar la siguiente política de confianza a la función de ejecución del servicio.
{ "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, puedes usar la siguiente política de IAM permisos. Proporcione los nombres de recursos de Amazon (ARNs) correctos para su grupo de registros y su transmisión.
{ "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:*", ] } ] }
Controle los niveles de monitoreo de las 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 Implemente el escalado de aplicaciones en Managed Service for Apache Flink.
-
Operador: se determina el alcance de las métricas para cada operador. Para obtener más información sobre los operadores, consulte Transforme los datos mediante operadores en Managed Service for Apache Flink con DataStream API.
-
Paralelismo: las métricas se basan en el paralelismo de la aplicación. Solo puede configurar este nivel de métricas mediante el MonitoringConfigurationUpdateparámetro de UpdateApplicationAPI. No puede establecer este nivel de métricas mediante la consola. Consulte Implemente el escalado de aplicaciones en Managed Service for 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.
Aplique las mejores prácticas 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.
Realice la 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 la IAM función y las políticas de la aplicación sean correctas. 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 Agregue 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, consulte.
Utilice CloudWatch Logs Insights
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 Analice los CloudWatch registros con Logs Insights.