Configurare la registrazione delle applicazioni in Managed Service per Apache Flink - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare la registrazione delle applicazioni in Managed Service per Apache Flink

Aggiungendo un'opzione di CloudWatch registrazione Amazon alla tua applicazione Managed Service for Apache Flink, puoi monitorare gli eventi dell'applicazione o i problemi di configurazione.

Questo argomento descrive come configurare l'applicazione per scrivere gli eventi dell'applicazione in un CloudWatch flusso di Logs. Un'opzione CloudWatch di registrazione è una raccolta di impostazioni e autorizzazioni dell'applicazione che l'applicazione utilizza per configurare il modo in cui scrive gli eventi dell'applicazione nei registri. CloudWatch È possibile aggiungere e configurare un'opzione di CloudWatch registrazione utilizzando il AWS Management Console o il (). AWS Command Line Interface AWS CLI

Tieni presente quanto segue sull'aggiunta di un'opzione CloudWatch di registrazione all'applicazione:

  • Quando aggiungi un'opzione di CloudWatch registrazione utilizzando la console, Managed Service for Apache Flink crea automaticamente il gruppo di CloudWatch log e il flusso di log e aggiunge le autorizzazioni necessarie all'applicazione per scrivere nel flusso di log.

  • Quando aggiungete un'opzione di CloudWatch registrazione utilizzando ilAPI, dovete anche creare il gruppo e il flusso di log dell'applicazione e aggiungere le autorizzazioni necessarie all'applicazione per scrivere nel flusso di log.

Configura la CloudWatch registrazione utilizzando la console

Quando abiliti CloudWatch la registrazione per la tua applicazione nella console, vengono creati automaticamente un CloudWatch gruppo di log e un flusso di log. Inoltre, la policy di autorizzazione dell'applicazione viene aggiornata con le autorizzazioni di scrittura sul flusso.

Managed Service for Apache Flink crea un gruppo di log denominato utilizzando la seguente convenzione, dove ApplicationName è il nome della tua applicazione.

/AWS/KinesisAnalytics/ApplicationName

Il servizio gestito per Apache Flink crea un flusso di log nel nuovo gruppo di log con il nome seguente.

kinesis-analytics-log-stream

È possibile impostare il monitoraggio del livello dei parametri e il monitoraggio del livello di log utilizzando la sezione Monitoraggio del livello di log della pagina Configura applicazione. Per ulteriori informazioni sui livelli di log dell'applicazione, consulta Controlla i livelli di monitoraggio delle applicazioni.

Configura CloudWatch la registrazione utilizzando CLI

Per aggiungere un'opzione CloudWatch di registrazione utilizzando il AWS CLI, completa quanto segue:

  • Crea un gruppo di CloudWatch log e un flusso di log.

  • Aggiungi un'opzione di registrazione quando crei un'applicazione utilizzando l'CreateApplicationazione o aggiungi un'opzione di registrazione a un'applicazione esistente utilizzando l'AddApplicationCloudWatchLoggingOptionazione.

  • Aggiungi alla policy dell'applicazione le autorizzazioni per scrivere sui log.

Crea un gruppo di CloudWatch log e un flusso di log

Puoi creare un gruppo di CloudWatch log e uno streaming utilizzando la console CloudWatch Logs o ilAPI. Per informazioni sulla creazione di un gruppo di CloudWatch log e di un flusso di log, consulta Lavorare con gruppi di log e flussi di log.

Utilizzate le opzioni di CloudWatch registrazione delle applicazioni

Utilizzate le seguenti API azioni per aggiungere un'opzione di CloudWatch registro a un'applicazione nuova o esistente o modificare un'opzione di registro per un'applicazione esistente. Per informazioni su come utilizzare un JSON file come input per un'APIazione, vedereCodice di esempio dell'API Managed Service per Apache Flink.

Aggiungere un'opzione di CloudWatch registro durante la creazione di un'applicazione

L'esempio seguente mostra come utilizzare l'CreateApplicationazione per aggiungere un'opzione di CloudWatch registro quando si crea un'applicazione. Nell'esempio, sostituisci Amazon Resource Name (ARN) of the CloudWatch Log stream to add to the new application con le tue informazioni. Per ulteriori informazioni sull'operazione, consulta 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>" }] }

Aggiungere un'opzione di CloudWatch registro a un'applicazione esistente

L'esempio seguente mostra come utilizzare l'AddApplicationCloudWatchLoggingOptionazione per aggiungere un'opzione di CloudWatch registro a un'applicazione esistente. Nell'esempio, sostituisci ogni user input placeholder con le tue informazioni. Per ulteriori informazioni sull'operazione, consulta 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> }

Aggiorna un'opzione di CloudWatch registro esistente

L'esempio seguente mostra come utilizzare l'UpdateApplicationazione per modificare un'opzione di CloudWatch registro esistente. Nell'esempio, sostituisci ogni user input placeholder con le tue informazioni. Per ulteriori informazioni sull'operazione, consulta 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> }

Eliminare un'opzione di CloudWatch registro da un'applicazione

L'esempio seguente mostra come utilizzare l'DeleteApplicationCloudWatchLoggingOptionazione per eliminare un'opzione di CloudWatch registro esistente. Nell'esempio, sostituisci ogni user input placeholder con le tue informazioni. Per ulteriori informazioni sull'operazione, consulta 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> }

Imposta il livello di registrazione dell'applicazione

Per impostare il livello di registrazione dell'applicazione, utilizza il parametro MonitoringConfiguration dell'operazione CreateApplication o il parametro MonitoringConfigurationUpdate dell'operazione UpdateApplication.

Per ulteriori informazioni sui livelli di log dell'applicazione, consulta Controlla i livelli di monitoraggio delle applicazioni.

Imposta il livello di registrazione dell'applicazione durante la creazione di un'applicazione

La seguente richiesta di esempio per l'operazione CreateApplication imposta il livello di log dell'applicazione su 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" }
Aggiornare il livello di registrazione dell'applicazione

La seguente richiesta di esempio per l'operazione UpdateApplication imposta il livello di log dell'applicazione su INFO.

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

Aggiungi le autorizzazioni per la scrittura nel flusso di log CloudWatch

Il servizio gestito per Apache Flink necessita delle autorizzazioni per scrivere errori di configurazione errata. CloudWatch È possibile aggiungere queste autorizzazioni al ruolo AWS Identity and Access Management (IAM) assunto da Managed Service for Apache Flink.

Per ulteriori informazioni sull'utilizzo di un IAM ruolo per Managed Service for Apache Flink, consulta. Identity and Access Management per il servizio gestito da Amazon per Apache Flink

Policy di attendibilità

Per concedere a Managed Service for Apache Flink le autorizzazioni per assumere un IAM ruolo, puoi allegare la seguente politica di attendibilità al ruolo di esecuzione del servizio.

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

Policy delle autorizzazioni

Per concedere a un'applicazione le autorizzazioni per la scrittura di eventi di registro CloudWatch da una risorsa Managed Service for Apache Flink, puoi utilizzare la seguente politica di autorizzazioni. IAM Fornisci gli Amazon Resource Names (ARNs) corretti per il gruppo di log e lo stream.

{ "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:*", ] } ] }

Controlla i livelli di monitoraggio delle applicazioni

Puoi controllare la generazione dei messaggi di log dell'applicazione utilizzando il Monitoraggio del livello dei parametri e il Monitoraggio del livello di log dell'applicazione.

Il monitoraggio del livello dei parametri dell'applicazione controlla la granularità dei messaggi di log. I livelli dei parametri di monitoraggio sono definiti nel modo seguente:

Il monitoraggio del livello di log dell'applicazione controlla la verbosità del log dell'applicazione. I livelli di log di monitoraggio sono definiti nel modo seguente:

  • Errore: eventi catastrofici potenziali dell'applicazione.

  • Avviso: situazioni potenzialmente dannose dell'applicazione.

  • Informazioni: eventi di errore informativi e transitori dell'applicazione. Ti consigliamo di utilizzare questo livello di registrazione.

  • Debug: eventi informativi dettagliati che sono particolarmente utili per il debug di un'applicazione. Nota: utilizza questo livello solo per scopi di debug temporanei.

Applica le migliori pratiche di registrazione

È consigliabile che l'applicazione utilizzi il livello di registrazione delle informazioni. Consigliamo questo livello per garantire la visualizzazione degli errori di Apache Flink, che vengono registrati a livello di informazioni anziché a livello di errore.

Ti consigliamo di utilizzare il livello di debug solo temporaneamente durante l'analisi dei problemi delle applicazioni. Torna al livello Informazioni quando il problema è stato risolto. L'utilizzo del livello di registrazione di debug influirà in modo significativo sulle prestazioni dell'applicazione.

Una registrazione eccessiva può inoltre influire in modo significativo sulle prestazioni dell'applicazione. Ti consigliamo, ad esempio, di non scrivere una voce di registro per ogni record elaborato. Una registrazione eccessiva può causare gravi rallentamenti nell'elaborazione dei dati e può portare a una contropressione nella lettura dei dati dalle origini.

Eseguire la risoluzione dei problemi di registrazione

Se i log delle applicazioni non vengono scritti nel flusso di log, verifica quanto segue:

  • Verifica che il IAM ruolo e le politiche dell'applicazione siano corretti. La policy dell'applicazione richiede le seguenti autorizzazioni per accedere al flusso di log:

    • logs:PutLogEvents

    • logs:DescribeLogGroups

    • logs:DescribeLogStreams

    Per ulteriori informazioni, consulta Aggiungi le autorizzazioni per la scrittura nel flusso di log CloudWatch .

  • Verifica che l'applicazione sia in esecuzione. Per verificare lo stato dell'applicazione, visualizza la pagina dell'applicazione nella console o utilizza le ListApplicationsazioni DescribeApplicationo.

  • Monitora CloudWatch le metriche, ad esempio downtime per diagnosticare altri problemi relativi alle applicazioni. Per informazioni sulla lettura delle CloudWatch metriche, consulta.

Usa CloudWatch Logs Insights

Dopo aver abilitato CloudWatch la registrazione nell'applicazione, è possibile utilizzare CloudWatch Logs Insights per analizzare i log dell'applicazione. Per ulteriori informazioni, consulta Analizza i log con CloudWatch Logs Insights.