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à.
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 CloudWatch di registrazione utilizzando AWS Management Console o (). 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.
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, ApplicationName
dov'è il nome dell'applicazione.
/aws/kinesis-analytics/
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.
Configurare la CloudWatch registrazione utilizzando la 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 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.
Utilizzate le opzioni di CloudWatch registrazione delle applicazioni
Utilizza 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.
Aggiungi un'opzione di CloudWatch registro durante la creazione di un'applicazione
L'esempio seguente mostra come utilizzare l'CreateApplication
azione per aggiungere un'opzione di CloudWatch registro quando si crea un'applicazione. Nell'esempio, sostituire 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:::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>
" }] }
Aggiungere un'opzione di CloudWatch registro a un'applicazione esistente
L'esempio seguente mostra come utilizzare l'AddApplicationCloudWatchLoggingOption
azione per aggiungere un'opzione di CloudWatch registro a un'applicazione esistente. Nell'esempio, sostituisci ciascuno 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'UpdateApplication
azione per modificare un'opzione di CloudWatch registro esistente. Nell'esempio, sostituisci ognuna 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'DeleteApplicationCloudWatchLoggingOption
azione per eliminare un'opzione di CloudWatch registro esistente. Nell'esempio, sostituisci ognuna 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:::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"
}
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 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 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:
-
Applicazione: i parametri si riferiscono all'intera applicazione.
-
Attività: i parametri si riferiscono a ciascuna attività. Per ulteriori informazioni sulle attività, consulta Implementazione della scalabilità delle applicazioni in Managed Service for Apache Flink.
-
Operatore: i parametri si riferiscono a ciascun operatore. Per ulteriori informazioni sugli operatori, consulta Trasforma i dati utilizzando gli operatori in Managed Service for Apache Flink con l'API DataStream .
-
Parallelismo: i parametri si riferiscono al parallelismo delle applicazioni. Puoi impostare questo livello di metrica solo utilizzando il MonitoringConfigurationUpdateparametro dell' UpdateApplicationAPI. Non è possibile impostare questo livello dei parametri utilizzando la console. Per ulteriori informazioni sul parallelismo, consulta Implementazione della scalabilità delle applicazioni in Managed Service for Apache Flink.
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 ruolo e le policy IAM 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.