

Após uma análise cuidadosa, decidimos descontinuar o Amazon Kinesis Data Analytics para aplicativos SQL:

1. A partir de **1º de setembro de 2025,** não forneceremos nenhuma correção de bug para aplicativos do Amazon Kinesis Data Analytics para SQL porque teremos suporte limitado para ele, devido à próxima descontinuação.

2. A partir **de 15 de outubro de 2025,** você não poderá criar novos aplicativos Kinesis Data Analytics para SQL.

3. Excluiremos as aplicações a partir de **27 de janeiro de 2026**. Você não poderá mais iniciar nem operar as aplicações do Amazon Kinesis Data Analytics para SQL. A partir dessa data, não haverá mais suporte ao Amazon Kinesis Data Analytics para SQL. Para obter mais informações, consulte [Descontinuação de aplicações do Amazon Kinesis Data Analytics para SQL](discontinuation.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Monitoramento com a Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Você pode monitorar aplicativos usando a Amazon CloudWatch. CloudWatch coleta e processa dados brutos em métricas legíveis e quase em tempo real. Essas estatísticas são mantidas durante um período de duas semanas. Você pode acessar as informações históricas e ter uma perspectiva melhor sobre o desempenho do aplicativo web ou o do serviço. Por padrão, os dados métricos são enviados automaticamente para CloudWatch. Para obter mais informações, consulte [O que é a Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) no *Guia do CloudWatch usuário da Amazon*.

**Topics**
+ [Métricas e dimensões](monitoring-metrics.md)
+ [Visualizar métricas e dimensões do](metrics-dimensions.md)
+ [Criando CloudWatch alarmes para monitorar](creating-alarms.md)
+ [Trabalhando com a Amazon CloudWatch Logs](cloudwatch-logs.md)

# Métricas e dimensões
<a name="monitoring-metrics"></a>

O namespace `AWS/KinesisAnalytics` inclui as métricas a seguir.


| Métrica | Description | 
| --- | --- | 
|  `Bytes` | O número de bytes lidos (por fluxo de entrada) ou gravados (por fluxo de saída).  Níveis: por fluxo de entrada e por fluxo de saída  | 
|  `KPUs` | O número de unidades de processamento do Kinesis que são usadas para executar o aplicativo de processamento de fluxos. O número médio de KPUs usados por hora determina o faturamento do seu aplicativo. Níveis: aplicativo  | 
|  `MillisBehindLatest` |  Indica com que atraso um aplicativo está lendo a origem do streaming. Níveis: aplicativo  | 
|  `Records` | O número de registros lidos (por fluxo de entrada) ou gravados (por fluxo de saída). Níveis: por fluxo de entrada e por fluxo de saída  | 
|  `Success` | 1 para cada tentativa de entrega bem-sucedida ao destino configurado para seu aplicativo; 0 para cada tentativa de entrega falha. O valor médio dessa métrica indica quantas entregas bem-sucedidas foram realizadas. Níveis: por destino.  | 
|  `InputProcessing.Duration` |  O tempo gasto para cada invocação de AWS Lambda função realizada por. Níveis: por fluxo de entrada  | 
|  `InputProcessing.OkRecords ` |  O número de registros retornados por uma função do Lambda que foram marcados com o status `Ok`.  Níveis: por fluxo de entrada  | 
|  `InputProcessing.OkBytes ` |  A soma de bytes dos registros retornados por uma função do Lambda que foram marcados com o status `Ok`. Níveis: por fluxo de entrada  | 
|  `InputProcessing.DroppedRecords ` |  O número de registros retornados por uma função do Lambda que foram marcados com o status `Dropped`.  Níveis: por fluxo de entrada  | 
|  `InputProcessing.ProcessingFailedRecords ` |  O número de registros retornados por uma função do Lambda que foram marcados com o status `ProcessingFailed`.  Níveis: por fluxo de entrada  | 
|  `InputProcessing.Success` |  O número de invocações do Lambda pelo bem-sucedidas. Níveis: por fluxo de entrada  | 
|  `LambdaDelivery.OkRecords` |  O número de registros retornados por uma função do Lambda que foram marcados com o status `Ok`.  Níveis: por destino Lambda | 
|  `LambdaDelivery.DeliveryFailedRecords` |  O número de registros retornados por uma função do Lambda que foram marcados com o status `DeliveryFailed`.  Níveis: por destino Lambda | 
|  `LambdaDelivery.Duration` |  O tempo necessário para cada invocação de função do Lambda executada pelo . Níveis: por destino Lambda | 

 fornece métricas para as dimensões a seguir.


| Dimensão | Description | 
| --- | --- | 
|  `Flow`  |  Por fluxo de entrada: entrada  Por fluxo de saída: saída  | 
|  `Id`  |  Por fluxo de entrada: ID de entrada Por fluxo de saída: ID de saída  | 

# Visualizar métricas e dimensões do
<a name="metrics-dimensions"></a>

Quando seu aplicativo processa fluxos de dados, envia as seguintes métricas e dimensões para o. CloudWatch É possível usar os procedimentos a seguir para visualizar as métricas do .

No console, as métricas são agrupadas primeiro pelo namespace do serviço e depois por várias combinações de dimensão em cada namespace.

**Para visualizar métricas usando o CloudWatch console**

1. Abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação, selecione **Métricas**.

1. No painel **CloudWatch Métricas por categoria**, escolha uma categoria de métricas.

1. No painel superior, role para visualizar a lista completa de métricas.

**Para visualizar métricas usando o AWS CLI**
+ Em um prompt de comando, use o seguinte comando.

  ```
  1. aws cloudwatch list-metrics --namespace "AWS/KinesisAnalytics" --region region
  ```

 métricas são coletadas nos seguintes níveis:
+ Aplicativo 
+ Fluxo de entrada
+ Fluxo de saída

# Criando CloudWatch alarmes para monitorar
<a name="creating-alarms"></a>

Você pode criar um CloudWatch alarme da Amazon que envia uma mensagem do Amazon SNS quando o alarme muda de estado. O alarme observa uma única métrica em um período especificado. Ele executa uma ou mais ações com base no valor da métrica em relação a um limite especificado ao longo de vários períodos. A ação é uma notificação enviada para um tópico do Amazon SNS ou uma política de ajuste de escala automático. 

Os alertas invocam ações apenas para alterações de estado mantidas. Para que um CloudWatch alarme invoque uma ação, o estado deve ter sido alterado e mantido por um período de tempo especificado.

Você pode definir alarmes usando a CloudWatch API Console de gerenciamento da AWS, CloudWatch AWS CLI, ou, conforme descrito a seguir.

**Para definir um alarme usando o CloudWatch console**

1. Faça login no Console de gerenciamento da AWS e abra o CloudWatch console em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1.  Escolha **Criar Alarm**. O **Create Alarm Wizard (Assistente de criação de alarmes)** é iniciado. 

1. Escolha **Kinesis Analytics Metrics (Métricas do Kinesis Analytics)**. Role pelas métricas do para localizar a métrica em que deseja colocar um alarme. 

   Para exibir apenas as métricas do , procure o ID do sistema de arquivos. Escolha a métrica para a qual será criada um alarme e escolha **Next (Próximo)**.

1. Insira valores em **Name (Nome)**, **Description (Descrição)** e **Whenever (Sempre que)** para a métrica. 

1. Se você quiser CloudWatch enviar um e-mail quando o estado do alarme for atingido, no campo **Sempre que este alarme:**, escolha **Estado é ALARME**. No campo **Send notification to:**, selecione um tópico do SNS existente. Se você selecionar **Create topic**, poderá definir o nome e o endereço de e-mail para uma nova lista de assinatura de e-mail. Essa lista é salva e aparece no campo para alarmes futuros. 
**nota**  
 Se você usar **Create topic (Criar tópico)** para criar um novo tópico do Amazon SNS, os endereços de e-mail deverão ser verificados antes que eles recebam notificações. Os e-mails são enviados apenas quando o alarme entra em um status de alarme. Se essa alteração no status de alarme ocorrer antes dos endereços de e-mail serem verificados, eles não receberão notificação.

1. Na seção **Alarm Preview**, visualize o alarme que você está prestes a criar. 

1. Escolha **Create Alarm** para criar o alarme.

**Para definir um alarme usando a CloudWatch CLI**
+  Chame `[mon-put-metric-alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/cli-mon-put-metric-alarm.html)`. Para obter mais informações, consulte a [Amazon CloudWatch CLI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/cli/) Reference. 

**Para definir um alarme usando a CloudWatch API**
+ Chame `[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)`. Para obter mais informações, consulte a [Amazon CloudWatch API Reference](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/). 

# Trabalhando com a Amazon CloudWatch Logs
<a name="cloudwatch-logs"></a>

Se um aplicativo do estiver configurado incorretamente, ele poderá fazer a transição para um estado de execução durante a inicialização do aplicativo. Ou poderá atualizar, mas não processará nenhum dado no fluxo de entrada no aplicativo. Ao adicionar uma opção de CloudWatch log ao aplicativo, você pode monitorar os problemas de configuração do aplicativo.

 pode gerar erros de configuração nas seguintes condições:
+ O fluxo de dados do Kinesis usado para entrada não existe.
+ O fluxo de entrega do Amazon Data Firehose usado para entrada não existe.
+ O bucket do Amazon S3 usado como fonte de dados de referência não existe.
+ O arquivo especificado na fonte de dados de referência no bucket do S3 não existe.
+ O recurso correto não está definido na função AWS Identity and Access Management (IAM) que gerencia as permissões relacionadas.
+ A permissão correta não é definido na função do IAM que gerencia permissões relacionadas.
+  não tem permissão para assumir a função do IAM que gerencia permissões relacionadas.

Para obter mais informações sobre a Amazon CloudWatch, consulte o [https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

## Adicionando a ação PutLogEvents política
<a name="enable_putlogevents"></a>

 precisa de permissões para gravar erros de configuração incorreta. CloudWatch Você pode adicionar essas permissões à função do IAM assumida pelo , como descrito a seguir. Para obter mais informações sobre o uso de um perfil do IAM para , consulte [Gerenciamento de identidade e acesso no Kinesis Data Analytics](iam-role.md).

### Política de confiança
<a name="enable_putlogevents_trust_policy"></a>

Para conceder permissões ao para assumir uma função do IAM, anexe a política de confiança a seguir à função.

------
#### [ JSON ]

****  

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

------

### Política de permissões
<a name="enable_putlogevents_permissions_policy"></a>

Para conceder a um aplicativo permissões para gravar eventos de log a CloudWatch partir de um recurso, você pode usar a seguinte política de permissões do IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Stmt0123456789000",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group:log-stream:my-log-stream*"
            ]
        }
    ]
}
```

------

## Adição de monitoramento de erros de configuração
<a name="adding_cloudwatch"></a>

Use as ações de API a seguir para adicionar uma opção de CloudWatch log a um aplicativo novo ou existente ou alterar uma opção de log de um aplicativo existente.

**nota**  
Atualmente, você só pode adicionar uma opção de CloudWatch log a um aplicativo usando ações de API. Você não pode adicionar opções de CloudWatch registro usando o console.

### Adicionando uma opção de CloudWatch registro ao criar um aplicativo
<a name="add_cloudwatch_create"></a>

O exemplo de código a seguir demonstra como usar a `CreateApplication` ação para adicionar uma opção de CloudWatch log ao criar um aplicativo. Para obter mais informações sobre `Create_Application`, consulte [CreateApplication](API_CreateApplication.md).

```
{
   "ApplicationCode": "<The SQL code the new application will run on the input stream>",
   "ApplicationDescription": "<A friendly description for the new application>",
   "ApplicationName": "<The name for the new application>",
   "Inputs": [ ... ],
   "Outputs": [ ... ],
   "CloudWatchLoggingOptions": [{
      "LogStreamARN": "<Amazon Resource Name (ARN) of the CloudWatch log stream to add to the new application>",
      "RoleARN": "<ARN of the role to use to access the log>"
	}]
}
```

### Adicionando uma opção de CloudWatch log a um aplicativo existente
<a name="add_to_existing_app"></a>

O exemplo de código a seguir demonstra como usar a ação `AddApplicationCloudWatchLoggingOption` para adicionar uma opção de log do CloudWatch a um aplicativo existente. Para saber mais sobre o `AddApplicationCloudWatchLoggingOption`, consulte [AddApplicationCloudWatchLoggingOption](API_AddApplicationCloudWatchLoggingOption.md).

```
{
   "ApplicationName": "<Name of the application to add the log option to>",
   "CloudWatchLoggingOption": { 
      "LogStreamARN": "<ARN of the log stream to add to the application>",
      "RoleARN": "<ARN of the role to use to access the log>"
   },
   "CurrentApplicationVersionId": <Version of the application to add the log to>
}
```

### Atualizando uma opção de CloudWatch registro existente
<a name="update_existing"></a>

O exemplo de código a seguir demonstra como usar a `UpdateApplication` ação para modificar uma opção de CloudWatch log existente. Para saber mais sobre o `UpdateApplication`, consulte [UpdateApplication](API_UpdateApplication.md).

```
{
   "ApplicationName": "<Name of the application to update the log option for>",
   "ApplicationUpdate": { 
      "CloudWatchLoggingOptionUpdates": [ 
         { 
            "CloudWatchLoggingOptionId": "<ID of the logging option to modify>",
            "LogStreamARNUpdate": "<ARN of the new log stream to use>",
            "RoleARNUpdate": "<ARN of the new role to use to access the log stream>"
         }
      ],
   },
   "CurrentApplicationVersionId": <ID of the application version to modify>
}
```

### Excluindo uma opção de CloudWatch log de um aplicativo
<a name="delete-log"></a>

O exemplo de código a seguir demonstra como usar a `DeleteApplicationCloudWatchLoggingOption` ação para excluir uma opção de CloudWatch log existente. Para saber mais sobre o `DeleteApplicationCloudWatchLoggingOption`, consulte [DeleteApplicationCloudWatchLoggingOption](API_DeleteApplicationCloudWatchLoggingOption.md).

```
{
   "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>
}
```

## Erros de configuração
<a name="cloudwatch_errors"></a>

As seções a seguir contêm detalhes sobre erros que você pode ver no Amazon CloudWatch Logs causados por um aplicativo mal configurado.

### Formato da mensagem de erro
<a name="cloudwatch_errors_format"></a>

As mensagens de erro geradas pelo erro de configuração do aplicativo aparecem no formato a seguir.

```
{
"applicationARN": "string",
"applicationVersionId": integer,
"messageType": "ERROR",
"message": "string",
"inputId": "string",
"referenceId": "string",
"errorCode": "string"
"messageSchemaVersion": "integer",
}
```

Os campos em uma mensagem de erro contêm as seguintes informações:
+ `applicationARN`: o nome de recurso da Amazon (ARN) do aplicativo que gerou o erro, por exemplo: `arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp`
+ `applicationVersionId`: a versão do aplicativo no momento em que o erro foi detectado. Para obter mais informações, consulte [ApplicationDetail](API_ApplicationDetail.md).
+ `messageType`: o tipo de mensagem. No momento, esse tipo pode ser apenas `ERROR`. 
+ `message`: os detalhes do erro, por exemplo:

  ```
  There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.
  ```
+ `inputId`: o ID associado à entrada do aplicativo. Esse valor só estará presente se essa entrada for a causa do erro. Esse valor não estará presente se `referenceId` estiver presente. Para obter mais informações, consulte [DescribeApplication](API_DescribeApplication.md). 
+ `referenceId`: o ID associado à fonte de dados de referência do aplicativo. Esse valor só estará presente se essa fonte de dados for a causa do erro. Esse valor não estará presente se `inputId` estiver presente. Para obter mais informações, consulte [DescribeApplication](API_DescribeApplication.md). 
+ `errorCode`: o identificador do erro. Esse ID é `InputError` ou `ReferenceDataError`.
+ `messageSchemaVersion`: um valor que especifica a versão de esquema da mensagem atual, no momento `1`. Você pode verificar esse valor para ver se o esquema da mensagem de erro foi atualizado.

### Erros
<a name="cloudwatch_errors_list"></a>

Os erros que podem aparecer no CloudWatch Logs for incluem o seguinte. 

#### O recurso não existe
<a name="resource_does_not_exist"></a>

Se um ARN for especificado para um fluxo de entrada do Kinesis que não existe, mas o ARN estiver sintaticamente correto, um erro semelhante ao seguinte será gerado.

```
{
"applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
"applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":"1.1",
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```

Se uma chave de arquivo incorreta do Amazon S3 for usada como dados de referência, um erro semelhante ao seguinte será gerado.

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your reference data. Please check that the bucket and the file exist, the role has the correct permissions to access these resources and that Kinesis Analytics can assume the role provided.",
 "referenceId":"1.1",
 "errorCode": "ReferenceDataError",
 "messageSchemaVersion": "1"
}
```

#### A função não existe
<a name="role_does_not_exist"></a>

Se um nome de região da Amazon (ARN) for especificado para uma função de entrada do IAM que não existe, mas o ARN estiver sintaticamente correto, um erro semelhante ao seguinte será gerado.

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":null,
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```

#### A função não tem permissões para acessar o recurso
<a name="role_does_not_have_permissions"></a>

Se uma função de entrada for usada e não tiver permissão para acessar os recursos de entrada, como um fluxo de origem do Kinesis, um erro semelhante ao seguinte será gerado.

```
{
 "applicationARN": "arn:aws:kinesisanalytics:us-east-1:112233445566:application/sampleApp",
 "applicationVersionId": "5",
 "messageType": "ERROR",
 "message": "There is a problem related to the configuration of your input. Please check that the resource exists, the role has the correct permissions to access the resource and that Kinesis Analytics can assume the role provided.",
 "inputId":null,
 "errorCode": "InputError",
 "messageSchemaVersion": "1"
}
```