Configurazione della registrazione delle applicazioni - 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à.

Configurazione della registrazione delle applicazioni

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 l'API, 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.

Configurazione della CloudWatch registrazione tramite la console

Quando abiliti CloudWatch la registrazione per l'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, ApplicationNamedov'è il nome dell'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 Livelli di monitoraggio delle applicazioni.

Configurazione della CloudWatch registrazione tramite la CLI

Per aggiungere un'opzione di CloudWatch registrazione utilizzando il AWS CLI, procedi come segue:

  • Create 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.

Creazione di un gruppo di CloudWatch log e di un flusso di log

Puoi creare un gruppo di CloudWatch log e uno stream utilizzando la console CloudWatch Logs o l'API. 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.

Utilizzo delle opzioni di CloudWatch registrazione delle applicazioni

Utilizzate le seguenti azioni API per aggiungere un'opzione di CloudWatch registro a un'applicazione nuova o esistente o modificare un'opzione di registro per un'applicazione esistente. Per ulteriori informazioni su come utilizzare un file JSON come input per un'operazione API, consulta Codice 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) del flusso di CloudWatch log per aggiungerlo alla nuova applicazione 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 segnaposto dell'input utente 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> }

Aggiornamento di 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 segnaposto dell'input utente 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> }

Eliminazione di 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 segnaposto dell'input utente 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> }

Impostazione del 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 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" } } } }

Aggiungere le autorizzazioni di 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 ruolo IAM per il servizio gestito per Apache Flink, consulta Identity and Access Management per il servizio gestito da Amazon per Apache Flink.

Policy di attendibilità

Per concedere al servizio gestito per Apache Flink le autorizzazioni per assumere un ruolo IAM, puoi collegare la seguente policy 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 scrivere eventi di registro CloudWatch da una risorsa Managed Service for Apache Flink, puoi utilizzare la seguente politica di autorizzazioni IAM. Fornisci i nomi della risorsa Amazon (ARN) corretti per il gruppo di log e il flusso di log.

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

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.

Registrazione di best practice

È 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.

Risoluzione dei problemi di registrazione

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

Approfondimenti

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