

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

# Monitorando implantações em CodeDeploy
<a name="monitoring"></a>

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho de CodeDeploy suas AWS soluções. Você deve coletar dados de monitoramento de todas as partes da sua AWS solução para poder depurar com mais facilidade uma falha multiponto, caso ocorra. Antes de começar a monitorar CodeDeploy, no entanto, você deve criar um plano de monitoramento que inclua respostas às seguintes perguntas:
+ Quais são seus objetivos de monitoramento?
+ Quais recursos você vai monitorar?
+ Com que frequência você vai monitorar esses recursos?
+ Quais ferramentas de monitoramento você usará?
+ Quem realizará o monitoramento das tarefas?
+ Quem deve ser notificado quando algo der errado?

A próxima etapa é estabelecer uma linha de base para o CodeDeploy desempenho normal em seu ambiente, medindo o desempenho em vários momentos e sob diferentes condições de carga. Ao monitorar CodeDeploy, armazene dados históricos de monitoramento para que você possa compará-los com os dados de desempenho atuais, identificar padrões normais de desempenho e anomalias de desempenho e criar métodos para resolver problemas.

Por exemplo, se você estiver usando CodeDeploy, poderá monitorar o status das implantações e das instâncias de destino. Quando as implantações ou instâncias falham, talvez seja necessário reconfigurar um arquivo de especificação do aplicativo, reinstalar ou atualizar o CodeDeploy agente, atualizar as configurações em um aplicativo ou grupo de implantação ou fazer alterações nas configurações da instância ou em um arquivo. AppSpec 

Para estabelecer uma linha de base, você deve, no mínimo, monitorar os seguintes itens:
+ Eventos e status de implantações
+ Eventos e status de instâncias

## Ferramentas de monitoramento automatizadas
<a name="monitoring_automated_tools"></a>

AWS fornece várias ferramentas que você pode usar para monitorar CodeDeploy. É possível configurar algumas dessas ferramentas para fazer o monitoramento em seu lugar, e, ao mesmo tempo, algumas das ferramentas exigem intervenção manual. Recomendamos que as tarefas de monitoramento sejam automatizadas ao máximo possível.

Você pode usar as seguintes ferramentas de monitoramento automatizado para observar CodeDeploy e relatar quando algo está errado:
+ **Amazon CloudWatch Alarms** — Observe uma única métrica em um período especificado por você e execute uma ou mais ações com base no valor da métrica em relação a um determinado limite em vários períodos. A ação é uma notificação enviada para um tópico do Amazon Simple Notification Service (Amazon SNS) ou para uma política do Amazon EC2 Auto Scaling. CloudWatch os alarmes não invocam ações simplesmente porque estão em um determinado estado; o estado deve ter sido alterado e mantido por um determinado número de períodos. Para obter mais informações, consulte [Monitoramento de implantações com ferramentas da Amazon CloudWatch](monitoring-cloudwatch.md).

  Para obter informações sobre como atualizar sua função de serviço para funcionar com o monitoramento de alarmes do CloudWatch , consulte [Conceder CloudWatch permissões para uma função CodeDeploy de serviço](monitoring-create-alarms-grant-permissions.md). Para obter informações sobre como adicionar monitoramento de CloudWatch alarmes às suas CodeDeploy operações[Crie um aplicativo com CodeDeploy](applications-create.md), consulte[Crie um grupo de implantação com CodeDeploy](deployment-groups-create.md), ou[Altere as configurações do grupo de implantação com CodeDeploy](deployment-groups-edit.md).

  
+ **Amazon CloudWatch Logs** — Monitore, armazene e acesse seus arquivos de log de AWS CloudTrail ou de outras fontes. Para obter mais informações, consulte [Monitoramento de arquivos de log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) no *Guia CloudWatch do usuário da Amazon*.

  Para obter informações sobre como usar o CloudWatch console para visualizar CodeDeploy registros, consulte [Exibir CodeDeploy registros no console de CloudWatch registros](https://aws.amazon.com/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/).
+ **Amazon CloudWatch Events** — Combine eventos e encaminhe-os para uma ou mais funções ou streams de destino para fazer alterações, capturar informações de estado e tomar medidas corretivas. Para obter mais informações, consulte [O que é Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchEvents.html) no *Guia CloudWatch do usuário da Amazon*.

  Para obter informações sobre o uso de CloudWatch Eventos em suas CodeDeploy operações, consulte[Monitoramento de implantações com Amazon Events CloudWatch](monitoring-cloudwatch-events.md).
+ **AWS CloudTrail Monitoramento** de registros — compartilhe arquivos de log entre contas, monitore arquivos de CloudTrail log em tempo real enviando-os para o CloudWatch Logs, grave aplicativos de processamento de log em Java e valide se seus arquivos de log não foram alterados após a entrega. CloudTrail Para obter mais informações, consulte [Trabalhando com arquivos de CloudTrail log](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) no *Guia AWS CloudTrail do usuário*. 

  Para obter informações sobre como usar CloudTrail com CodeDeploy, consulte[Monitorando implantações com AWS CloudTrail](monitoring-cloudtrail.md).
+ ** Amazon Simple Notification Service**: configure gatilhos com base em eventos para receber notificações por SMS ou e-mail sobre eventos de implantação e de instâncias, como sucesso ou falha. Para obter mais informações, consulte [Criar um tópico](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) e [O que é o Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html).

  Para obter informações sobre como configurar notificações do Amazon SNS para CodeDeploy, consulte. [Monitoramento de implantações com notificações de eventos do Amazon SNS](monitoring-sns-event-notifications.md)

## Ferramentas de monitoramento manual
<a name="monitoring_manual_tools"></a>

Outra parte importante do monitoramento CodeDeploy envolve o monitoramento manual dos itens que os CloudWatch alarmes não cobrem. O CodeDeploy, CloudWatch, e outros painéis AWS do console fornecem uma at-a-glance visão do estado do seu AWS ambiente. Recomendamos que você também verifique os arquivos de log nas CodeDeploy implantações.
+ CodeDeploy o console mostra:
  + O status das implantações
  + A data e a hora de cada última tentativa de implantação e de cada última implementação bem-sucedida de uma revisão
  + O número de instâncias que tiveram êxito, falharam, foram ignoradas ou estão em andamento em uma implantação
  + O status das instâncias locais
  + A data e a hora em que as instâncias locais foram registradas ou tiveram seu registro cancelado
+ CloudWatch a página inicial mostra:
  + Alertas e status atual
  + Gráficos de alertas e recursos
  + Estado de integridade do serviço

  Além disso, você pode usar CloudWatch para fazer o seguinte: 
  + Crie [painéis personalizados](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CloudWatch_Dashboards.html) para monitorar os serviços com os quais você se preocupa.
  + Colocar em gráfico dados de métrica para solucionar problemas e descobrir tendências
  + Pesquise e navegue em todas as suas métricas AWS de recursos
  + Criar e editar alertas para ser notificado sobre problemas

**Tópicos**
+ [Monitoring Deployments with Amazon CloudWatch Tools](monitoring-cloudwatch.md)
+ [Monitoring Deployments](monitoring-cloudtrail.md)
+ [Monitoring Deployments with Amazon SNS Event Notifications](monitoring-sns-event-notifications.md)

# Monitoramento de implantações com ferramentas da Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Você pode monitorar CodeDeploy implantações usando as seguintes CloudWatch ferramentas: Amazon CloudWatch Events, CloudWatch alarmes e Amazon CloudWatch Logs. 

A análise dos registros criados pelo CodeDeploy agente e pelas implantações pode ajudá-lo a solucionar as causas das falhas de implantação. Como alternativa à análise de CodeDeploy registros em uma instância por vez, você pode usar o CloudWatch Logs para monitorar todos os registros em um local central.

Para obter informações sobre o uso de CloudWatch alarmes e CloudWatch eventos para monitorar suas CodeDeploy implantações, consulte os tópicos a seguir. 

**Topics**
+ [Monitorando implantações com CloudWatch alarmes em CodeDeploy](monitoring-create-alarms.md)
+ [Monitoramento de implantações com Amazon Events CloudWatch](monitoring-cloudwatch-events.md)

# Monitorando implantações com CloudWatch alarmes em CodeDeploy
<a name="monitoring-create-alarms"></a>

Você pode criar um CloudWatch alarme para uma instância ou grupo do Amazon EC2 Auto Scaling que você está usando CodeDeploy em suas operações. Um alarme monitora uma única métrica durante um período que você especifica e executa uma ou mais ações com base no valor da métrica em relação a um determinado limite em vários períodos. CloudWatch os alarmes invocam ações quando seu estado muda (por exemplo, de `OK` para`ALARM`).

Usando a funcionalidade de CloudWatch alarme nativa, você pode especificar qualquer uma das ações suportadas CloudWatch quando uma instância que você está usando em uma implantação falha, como enviar uma notificação do Amazon SNS ou interromper, encerrar, reinicializar ou recuperar uma instância. Para suas CodeDeploy operações, você pode configurar um grupo de implantação para interromper uma implantação sempre que qualquer CloudWatch alarme associado ao grupo de implantação for ativado. 

Você pode associar até dez CloudWatch alarmes a um grupo de CodeDeploy implantação. Se qualquer um dos alarmes especificados for ativado, a implantação será interrompida, e o status será atualizado para Stopped. Para usar essa opção, você deve conceder CloudWatch permissões à sua função CodeDeploy de serviço.

Para obter informações sobre a configuração de CloudWatch alarmes no CloudWatch console, consulte [Criação de CloudWatch alarmes da Amazon no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html) *do usuário da Amazon*.

Para obter informações sobre como associar um CloudWatch alarme a um grupo de implantação em CodeDeploy, consulte [Crie um grupo de implantação com CodeDeploy](deployment-groups-create.md) e. [Altere as configurações do grupo de implantação com CodeDeploy](deployment-groups-edit.md)

**Topics**
+ [Conceder CloudWatch permissões para uma função CodeDeploy de serviço](monitoring-create-alarms-grant-permissions.md)

# Conceder CloudWatch permissões para uma função CodeDeploy de serviço
<a name="monitoring-create-alarms-grant-permissions"></a>

Antes de usar o monitoramento de CloudWatch alarmes com suas implantações, a função de serviço que você usa em suas CodeDeploy operações deve ter permissão para acessar os CloudWatch recursos. 

**Para conceder CloudWatch permissões a uma função de serviço**

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

1. No console do IAM, selecione **Perfis** no painel de navegação.

1. Escolha o nome da função de serviço que você usa em suas AWS CodeDeploy operações.

1. Na guia **Permissões**, na área de **Políticas em linha**, selecione **Criar política da função**.

   –ou–

   Se o botão **Criar política da função** não estiver disponível, expanda a área de **Políticas em linha** e depois **clique aqui**.

1. Na página **Definir permissões**, selecione **Política personalizada** e, então, **Selecionar**.

1. Na página **Revisar política**, no campo **Nome da política**, digite um nome para identificar essa política, tal como `CWAlarms`.

1. Cole o seguinte no campo **Documento da política:** 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "cloudwatch:DescribeAlarms",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Selecione **Aplicar política**.

# Monitoramento de implantações com Amazon Events CloudWatch
<a name="monitoring-cloudwatch-events"></a>

Você pode usar o Amazon CloudWatch Events para detectar e reagir às mudanças no estado de uma instância ou de uma implantação (um “evento”) em suas CodeDeploy operações. Em seguida, com base nas regras criadas por você, CloudWatch os Eventos invocarão uma ou mais ações de destino quando uma implantação ou instância entrar no estado especificado em uma regra. Dependendo do tipo de alteração de estado, convém enviar notificações, capturar informações de estado, tomar medidas corretivas, iniciar eventos ou realizar outras ações. Você pode selecionar os seguintes tipos de alvos ao usar CloudWatch Eventos como parte de suas CodeDeploy operações:
+ AWS Lambda funções
+  Streams do Kinesis
+ Filas do Amazon SQS
+ Destinos integrados (`EC2 CreateSnapshot API call`, `EC2 RebootInstances API call`, `EC2 StopInstances API call` e `EC2 TerminateInstances API call`)
+ Tópicos do Amazon SNS

A seguir, alguns casos de uso:
+ Use uma função do Lambda para transmitir uma notificação a um canal Slack sempre que uma implantação falhar.
+ Envie dados sobre implantações ou instâncias a um stream do Kinesis para oferecer suporte ao monitoramento abrangente do status em tempo real.
+ Use ações de CloudWatch alarme para parar, encerrar, reinicializar ou recuperar automaticamente EC2 instâncias da Amazon quando ocorrer uma implantação ou evento de instância que você especificar.

O restante deste tópico descreve o procedimento básico para criar uma regra de CloudWatch eventos para CodeDeploy. No entanto, antes de criar regras de eventos para uso em suas CodeDeploy operações, você deve fazer o seguinte:
+ Conclua os pré-requisitos CloudWatch dos eventos. Para obter informações, consulte [Pré-requisitos de CloudWatch eventos da Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CWE_Prerequisites.html).
+ Familiarize-se com eventos, regras e metas em CloudWatch Eventos. Para obter mais informações, consulte [O que é Amazon CloudWatch Events?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) e [novos CloudWatch eventos — acompanhe e responda às mudanças em seus AWS recursos](https://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources/).
+ Criar um ou mais destinos que você usará nas suas regras de evento. 

**Para criar uma regra de CloudWatch eventos para CodeDeploy:**

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

1. No painel de navegação, escolha **Eventos**.

1. Escolha **Create rule (Criar regra)** e, em **Event selector (Seletor de eventos)**, escolha **AWS CodeDeploy**.

1. Especifique um tipo de detalhe:
   + Para criar uma regra que se aplique a todas as alterações de estado das instâncias e das implantações, escolha **Any detail type** e vá para a etapa 6.
   + Para criar uma regra que se aplique somente às instâncias, escolha **Tipo de detalhe específico** e, em seguida, escolha **Notificação de alteração do estado da CodeDeploy instância**.
   + Para criar uma regra que se aplique somente às implantações, escolha **Tipo de detalhe específico** e, em seguida, escolha Notificação de **alteração do estado da CodeDeploy implantação**.

1. Especifique as alterações de estado às quais a regra se aplica:
   + Para criar uma regra que se aplique a todas as alterações de estado, escolha **Any state**.
   + Para criar uma regra que se aplique apenas a algumas alterações de estado, escolha **Specific state(s)** e escolha um ou mais valores de status na lista. A tabela a seguir lista os valores de status que você pode escolher:  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/monitoring-cloudwatch-events.html)

1. Especifique a quais CodeDeploy aplicativos a regra se aplica:
   + Para criar uma regra que se aplique a todos os aplicativos, escolha **Any application** e vá para a etapa 8.
   + Para criar uma regra que se aplique a apenas um aplicativo, escolha **Specific application** e escolha o nome do aplicativo na lista.

1. Especifique a quais grupos de implantação a regra se aplica:
   + Para criar uma regra que se aplique a todos os grupos de implantação associados ao aplicativo selecionado, escolha **Any deployment group**.
   + Para criar uma regra que se aplique a apenas um dos grupos de implantação associados ao aplicativo selecionado, escolha **Specific deployment group(s)** e escolha o nome do grupo de implantação na lista.

1. Analise a configuração da regra para garantir que ela atenda aos requisitos de monitoramento de evento.

1. Na área **Targets**, escolha **Add target\$1**.

1. Na lista **Select target type (Selecionar tipo de destino)**, escolha o tipo de destino preparado para usar com essa regra e configure as opções adicionais necessárias a esse tipo. 

1. Escolha **Configure details (Configurar detalhes)**.

1. Na página **Configure rule details**, digite um nome e uma descrição para a regra e, em seguida, escolha a caixa **State** para habilitar a regra agora.

1. Se você estiver satisfeito com a regra, escolha **Create rule**.

# Monitorando implantações com AWS CloudTrail
<a name="monitoring-cloudtrail"></a>

CodeDeploy é integrado com CloudTrail, um serviço que captura chamadas de API feitas por ou em nome de CodeDeploy sua AWS conta e entrega os arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrailcaptura chamadas de API do CodeDeploy console, de CodeDeploy comandos por meio do AWS CLI ou CodeDeploy APIs diretamente do. Usando as informações coletadas por CloudTrail, você pode determinar para qual solicitação foi feita CodeDeploy, o endereço IP de origem a partir do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e assim por diante. Para saber mais sobre CloudTrail, inclusive como configurá-lo e ativá-lo, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## CodeDeploy informações em CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

Quando o CloudTrail registro está ativado em sua AWS conta, as chamadas de API feitas para CodeDeploy ações são rastreadas em arquivos de log. CodeDeploy os registros são gravados junto com outros registros AWS de serviço em um arquivo de log. CloudTrail determina quando criar e gravar em um novo arquivo com base no período e no tamanho do arquivo.

Todas as CodeDeploy ações são registradas e documentadas na Referência da [Linha de AWS CodeDeploy Comando e na Referência](https://docs.aws.amazon.com/cli/latest/reference/deploy/index.html) da [AWS CodeDeploy API](https://docs.aws.amazon.com/codedeploy/latest/APIReference/). Por exemplo, chamadas para criar implantações, excluir aplicativos e registrar revisões de aplicativos geram entradas em arquivos de CloudTrail log. 

Cada entrada de log contém informações sobre quem gerou a solicitação. As informações de identidade do usuário no registro ajudam a determinar se a solicitação foi feita com credenciais raiz ou de usuário, com credenciais de segurança temporárias para uma função ou usuário federado ou por outro serviço. AWS Para obter mais informações, consulte o campo **userIdentity** na [Referência de eventos do CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/event_reference_top_level.html).

Você pode armazenar os arquivos de log no bucket pelo tempo que desejar, mas também pode definir regras do ciclo de vida do Amazon S3 para arquivar ou excluir os arquivos de log automaticamente. Por padrão, a criptografia do lado do servidor (SSE) do Amazon S3 é usada para criptografar seus arquivos de log.

Você pode CloudTrail publicar notificações do Amazon SNS quando novos arquivos de log forem entregues. Para obter mais informações, consulte [Configuração de notificações do Amazon SNS para o CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html).

Você também pode agregar arquivos de CodeDeploy log de várias AWS regiões e várias AWS contas em um único bucket do Amazon S3. Para obter mais informações, consulte [Recebimento de arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/aggregating_logs_top_level.html).

## Entendendo as entradas do arquivo de CodeDeploy log
<a name="understanding-service-name-entries"></a>

CloudTrail os arquivos de log podem conter uma ou mais entradas de log, em que cada entrada é composta por vários eventos formatados em JSON. Uma entrada de log representa uma única solicitação de qualquer origem e inclui informações sobre a ação solicitada, quaisquer parâmetros, a data e hora da ação e assim por diante. Não é garantido que as entradas de log estejam em uma ordem específica. Ou seja, elas não são um rastreamento ordenado das chamadas de API públicas.

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a ação de CodeDeploy criar grupo de implantação:

```
{
	"Records": [{
		"eventVersion": "1.02",
		"userIdentity": {
			"type": "AssumedRole",
			"principalId": "AKIAI44QH8DHBEXAMPLE:203.0.113.11",
			"arn": "arn:aws:sts::123456789012:assumed-role/example-role/203.0.113.11",
			"accountId": "123456789012",
			"accessKeyId": "AKIAIOSFODNN7EXAMPLE",
			"sessionContext": {
				"attributes": {
					"mfaAuthenticated": "false",
					"creationDate": "2014-11-27T03:57:36Z"
				},
				"sessionIssuer": {
					"type": "Role",
					"principalId": "AKIAI44QH8DHBEXAMPLE",
					"arn": "arn:aws:iam::123456789012:role/example-role",
					"accountId": "123456789012",
					"userName": "example-role"
				}
			}
		},
		"eventTime": "2014-11-27T03:57:36Z",
		"eventSource": "codedeploy.amazonaws.com",
		"eventName": "CreateDeploymentGroup",
		"awsRegion": "us-west-2",
		"sourceIPAddress": "203.0.113.11",
		"userAgent": "example-user-agent-string",
		"requestParameters": {
			"applicationName": "ExampleApplication",
			"serviceRoleArn": "arn:aws:iam::123456789012:role/example-instance-group-role",
			"deploymentGroupName": "ExampleDeploymentGroup",
			"ec2TagFilters": [{
                "value": "CodeDeployDemo",
				"type": "KEY_AND_VALUE",
				"key": "Name"
            }],
            "deploymentConfigName": "CodeDeployDefault.HalfAtATime"
		},
		"responseElements": {
			"deploymentGroupId": "7d64e680-e6f4-4c07-b10a-9e117EXAMPLE"
		},
		"requestID": "86168559-75e9-11e4-8cf8-75d18EXAMPLE",
		"eventID": "832b82d5-d474-44e8-a51d-093ccEXAMPLE",
		"eventType": "AwsApiCall",
		"recipientAccountId": "123456789012"
	},
    ... additional entries ...
    ]
}
```

# Monitoramento de implantações com notificações de eventos do Amazon SNS
<a name="monitoring-sns-event-notifications"></a>

Você pode adicionar gatilhos a um grupo de CodeDeploy implantação para receber notificações sobre eventos relacionados a implantações ou instâncias nesse grupo de implantação. Essas notificações são enviadas aos destinatários inscritos em um tópico do Amazon SNS que você incluiu como parte da ação do gatilho. 

Você pode receber notificações de CodeDeploy eventos em mensagens SMS ou mensagens de e-mail. Também pode usar de outras maneiras os dados JSON que são criados quando um evento especificado ocorre, por exemplo, enviando mensagens a filas do Amazon SQS ou invocando uma função no AWS Lambda. Para ver a estrutura dos dados JSON fornecidos para gatilhos de implantação e instância, consulte [Formatos de dados JSON para acionadores CodeDeploy](monitoring-sns-event-notifications-json-format.md).

Você poderá optar por usar gatilhos para receber notificações se:
+ For um desenvolvedor que precisa saber quando uma implantação apresenta falhas ou é interrompida, para que você possa solucionar o problema.
+ For um administrador do sistema que precisa saber quantas instâncias apresentam falhas para monitorar a integridade do seu Amazon EC2 Fleet.
+ Você é um gerente que deseja uma at-a-glance contagem dos eventos de implantação e instância, que podem ser obtidos por meio de regras de filtragem que direcionam diferentes tipos de notificações para pastas em seu cliente de e-mail para desktop. 

Você pode criar até 10 acionadores para cada grupo de CodeDeploy implantação, para qualquer um dos seguintes tipos de eventos.


| Eventos de implantação | Eventos de instância | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/monitoring-sns-event-notifications.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/monitoring-sns-event-notifications.html)  | 
| ¹ Aplica-se somente a blue/green implantações. Indica que a última revisão do aplicativo foi instalada em instâncias em um ambiente de substituição e que o tráfego do ambiente original agora pode ser redirecionado atrás de um balanceador de carga. Para obter mais informações, consulte [Trabalhando com implantações em CodeDeploy](deployments.md). | 

**Topics**
+ [Conceder permissões do Amazon SNS a um perfil de serviço](monitoring-sns-event-notifications-permisssions.md)
+ [Crie um gatilho para um CodeDeploy evento](monitoring-sns-event-notifications-create-trigger.md)
+ [Editar um gatilho em um grupo de implantação](monitoring-sns-event-notifications-edit-trigger.md)
+ [Excluir um gatilho de um grupo de implantação](monitoring-sns-event-notifications-delete-trigger.md)
+ [Formatos de dados JSON para gatilhos](monitoring-sns-event-notifications-json-format.md)

# Conceda permissões do Amazon SNS para uma função de serviço CodeDeploy
<a name="monitoring-sns-event-notifications-permisssions"></a>

Antes que seus gatilhos possam gerar notificações, a função de serviço que você usa em suas CodeDeploy operações deve ter permissão para acessar os recursos do Amazon SNS. 

**Para conceder permissões do Amazon SNS a um perfil de serviço**

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

1. No console do IAM, selecione **Perfis** no painel de navegação.

1. Escolha o nome do perfil de serviço utilizado em suas operações do AWS CodeDeploy .

1. Na guia **Permissões**, na área de **Políticas em linha**, selecione **Criar política da função**.

   –ou–

   Se o botão **Criar política da função** não estiver disponível, expanda a área de **Políticas em linha** e depois **clique aqui**.

1. Na página **Definir permissões**, selecione **Política personalizada** e, então, **Selecionar**.

1. Na página **Review Policy (Revisar política)**, no campo **Policy Name (Nome da política)**, insira um nome para identificar essa política, tal como `SNSPublish`.

1. Cole o seguinte no campo **Documento da política:** 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "sns:Publish",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Selecione **Aplicar política**.

# Crie um gatilho para um CodeDeploy evento
<a name="monitoring-sns-event-notifications-create-trigger"></a>

É possível criar um gatilho que publica um tópico do Amazon Simple Notification Service (Amazon SNS) para um evento de implantação ou instância do AWS CodeDeploy . Dessa forma, quando esse evento ocorrer, todos os assinantes do tópico associado receberão notificações através do endpoint especificado no tópico, como uma mensagem SMS ou uma mensagem de e-mail. O Amazon SNS oferece vários métodos para assinar tópicos.

Antes de criar um gatilho, é necessário configurar o tópico do Amazon SNS para o gatilho apontar. Para obter informações, consulte [Criar um tópico](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html). Ao criar um tópico, é recomendável dar a ele um nome que identifique sua finalidade, em formatos como `Topic-group-us-west-3-deploy-fail` ou `Topic-group-project-2-instance-stop`. 

Você também deve conceder permissões ao Amazon SNS para uma função de CodeDeploy serviço antes que as notificações possam ser enviadas para seu gatilho. Para mais informações, consulte [Conceda permissões do Amazon SNS para uma função de serviço CodeDeploy](monitoring-sns-event-notifications-permisssions.md).

Depois de criar o tópico, você poderá adicionar assinantes. Para obter informações sobre como criar, gerenciar e assinar tópicos, consulte [O que é o Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/welcome.html).



## Crie um gatilho para enviar notificações de CodeDeploy eventos (console)
<a name="monitoring-sns-event-notifications-create-trigger-console"></a>

Você pode usar o CodeDeploy console para criar acionadores para um CodeDeploy evento. No final do processo de configuração, uma mensagem de notificação de teste é enviada para garantir que as permissões e os detalhes do gatilho estejam configurados corretamente.

**Para criar um gatilho para um CodeDeploy evento**

1. No Console de gerenciamento da AWS, abra o AWS CodeDeploy console.

1. Faça login no Console de gerenciamento da AWS e abra o CodeDeploy console em [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Faça login com o mesmo usuário que você configurou em [Começando com CodeDeploy](getting-started-codedeploy.md).

1. No painel de navegação, expanda a opção **Implantar** e escolha **Aplicativos**.

1. Na página **Applications (Aplicativos)**, escolha o nome do aplicativo associado ao grupo de implantação no qual você deseja adicionar um gatilho.

1. Na página **Application details (Detalhes do aplicativo)**, escolha o grupo de implantação no qual você deseja adicionar um gatilho.

1.  Escolha **Editar**. 

1.  Expanda **Avançado - opcional**. 

1.  Na área **Triggers (Gatilhos)**, selecione **Create trigger (Criar gatilho)**. 

1. No painel **Create deployment trigger (Criar gatilho de implantação)**, faça o seguinte:

   1. Em **Trigger name (Nome de acionador)**, insira um nome para o acionador que facilite a identificação de sua finalidade. Recomendamos formatos como `Trigger-group-us-west-3-deploy-fail` ou `Trigger-group-eu-central-instance-stop`.

   1. Em **Eventos**, escolha um ou mais tipos de eventos que acionarão o envio de notificações do tópico do Amazon SNS. 

   1. Em **Tópicos do Amazon SNS**, escolha o nome do tópico que você criou para enviar notificações para esse gatilho.

   1.  Escolha **Criar gatilho**. CodeDeploy envia uma notificação de teste para confirmar que você configurou corretamente o acesso entre CodeDeploy e o tópico do Amazon SNS. Dependendo do tipo de endpoint selecionado para o tópico, e se você tiver assinado o tópico, será enviada uma confirmação em uma mensagem SMS ou de e-mail. 

1.  Escolha **Salvar alterações**. 

## Crie um gatilho para enviar notificações de CodeDeploy eventos (CLI)
<a name="monitoring-sns-event-notifications-create-trigger-cli"></a>

Você pode usar a CLI para incluir gatilhos ao criar um grupo de implantação ou pode adicionar gatilhos a um grupo de implantação existente.

### Para criar um gatilho para enviar notificações referentes um novo grupo de implantação
<a name="monitoring-sns-event-notifications-create-trigger-cli-new"></a>

Crie um arquivo JSON para configurar o grupo de implantação e, em seguida, execute o [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando usando a `--cli-input-json` opção. 

A maneira mais simples de criar o arquivo JSON é usar a opção `--generate-cli-skeleton` para obter uma cópia do formato JSON e, em seguida, fornecer os valores necessários em um editor de texto simples.

1. Execute o seguinte comando e depois copie os resultados em um editor de texto simples.

   ```
   aws deploy create-deployment-group --generate-cli-skeleton
   ```

1. Adicione o nome de um CodeDeploy aplicativo existente à saída:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentGroupName": "",
       "deploymentConfigName": "",
       "ec2TagFilters": [
           {
               "Key": "",
               "Value": "",
               "Type": ""
           }
       ],
       "onPremisesInstanceTagFilters": [
           {
               "Key": "",
               "Value": "",
               "Type": ""
           }
       ],
       "autoScalingGroups": [
           ""
       ],
       "serviceRoleArn": "",
       "triggerConfigurations": [
           {
               "triggerName": "",
               "triggerTargetArn": "",
               "triggerEvents": [
                   ""
               ]
           }
       ]
   }
   ```

1. Forneça valores para os parâmetros que você deseja configurar.

   Ao usar o [create-deployment-group](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html)comando, você deve fornecer, no mínimo, valores para os seguintes parâmetros:
   + `applicationName`: o nome de um aplicativo já criado na sua conta. 
   + `deploymentGroupName`: um nome para o grupo de implantação que você está criando.
   + `serviceRoleArn`: o ARN de uma função de serviço existente configurada CodeDeploy em sua conta. Para mais informações, consulte [Etapa 2: criar uma função de serviço para CodeDeploy](getting-started-create-service-role.md).

   Na seção `triggerConfigurations`, forneça valores para os seguintes parâmetros: 
   + `triggerName`: o nome que você deseja dar ao gatilho, para poder identificá-lo facilmente. Recomendamos formatos como `Trigger-group-us-west-3-deploy-fail` ou `Trigger-group-eu-central-instance-stop`.
   + `triggerTargetArn`: o ARN do tópico do Amazon SNS que você criou para associar ao seu gatilho, neste formato: `arn:aws:sns:us-east-2:444455556666:NewTestTopic`.
   + `triggerEvents`: o tipo de eventos para os quais você deseja disparar notificações. É possível especificar um ou mais tipos de eventos, separando vários dos seus nomes com vírgulas (por exemplo, `"triggerEvents":["DeploymentSuccess","DeploymentFailure","InstanceFailure"]`). Quando mais de um tipo de evento é adicionado, as notificações para todos esses tipos são enviadas ao tópico que você especificou, em vez de a um tópico diferente para cada um. É possível escolher entre os seguintes tipos de eventos:
     + DeploymentStart
     + DeploymentSuccess
     + DeploymentFailure
     + DeploymentStop
     + DeploymentRollback
     + DeploymentReady (Aplica-se somente às instâncias de substituição em uma blue/green implantação)
     + InstanceStart
     + InstanceSuccess
     + InstanceFailure
     + InstanceReady (Aplica-se somente às instâncias de substituição em uma blue/green implantação)

   O exemplo de configuração a seguir cria um grupo de implantação chamado `dep-group-ghi-789-2` para um aplicativo chamado `TestApp-us-east-2` e um gatilho que solicitará o envio de notificações sempre que uma implantação for iniciada, for bem-sucedida ou falhar:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "deploymentGroupName": "dep-group-ghi-789-2",
       "ec2TagFilters": [
           {
               "Key": "Name",
               "Value": "Project-ABC",
               "Type": "KEY_AND_VALUE"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "triggerConfigurations": [
           {
               "triggerName": "Trigger-group-us-east-2",
               "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments",
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure"
               ]
           }
       ]
   }
   ```

1. Salve suas atualizações como um arquivo JSON e, em seguida, chame esse arquivo usando a opção `--cli-input-json` ao executar o comando **create-deployment-group**:
**Importante**  
Não se esqueça de incluir `file://` antes do nome de arquivo. Ele é obrigatório nesse comando.

   ```
   aws deploy create-deployment-group --cli-input-json file://filename.json
   ```

   No final do processo de criação, você receberá uma mensagem de notificação de teste indicando que tanto as permissões quanto os detalhes do gatilho estão configurados corretamente.

### Para criar um gatilho para enviar notificações referentes um grupo de implantação existente
<a name="monitoring-sns-event-notifications-create-trigger-cli-existing"></a>

Para usar o AWS CLI para adicionar gatilhos para CodeDeploy eventos a um grupo de implantação existente, crie um arquivo JSON para atualizar o grupo de implantação e, em seguida, execute o [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando usando a opção. `--cli-input-json` 

A maneira mais simples de criar o arquivo JSON é executar o comando **get-deployment-group** para obter uma cópia da configuração do grupo de implantação, no formato JSON, e depois atualizar os valores dos parâmetros em um editor de texto simples.

1.  Execute o seguinte comando e depois copie os resultados em um editor de texto simples.

   ```
   aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group
   ```

1. Exclua o seguinte da saída:
   + No início da saída, exclua `{ "deploymentGroupInfo":`.
   + No final da saída, exclua `}`. 
   + Exclua a linha que contém `deploymentGroupId`.
   + Exclua a linha que contém `deploymentGroupName`.

   O conteúdo do seu arquivo de texto agora deve ser semelhante ao seguinte:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "Project-ABC",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. Na seção `triggerConfigurations`, adicione dados para os parâmetros `triggerEvents`, `triggerTargetArn` e `triggerName`. Para obter informações sobre os parâmetros de configuração do acionador, consulte [TriggerConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TriggerConfig.html).

   O conteúdo do seu arquivo de texto agora deve ser semelhante ao seguinte. Esse código solicitará que as notificações sejam enviadas sempre que uma implantação for iniciada, for bem-sucedida ou falhar. 

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "Project-ABC",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [
           {
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure"
               ],
               "triggerTargetArn": "arn:aws:sns:us-east-2:444455556666:us-east-deployments",
               "triggerName": "Trigger-group-us-east-2"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. Salve suas atualizações como um arquivo JSON e execute o [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)comando usando a `--cli-input-json` opção. Certifique-se de incluir a `--current-deployment-group-name` opção e substituir o nome do seu arquivo JSON por*filename*: 
**Importante**  
Não se esqueça de incluir `file://` antes do nome de arquivo. Ele é obrigatório nesse comando.

   ```
   aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json file://filename.json
   ```

   No final do processo de criação, você receberá uma mensagem de notificação de teste indicando que tanto as permissões quanto os detalhes do gatilho estão configurados corretamente.

# Editar um gatilho em um grupo CodeDeploy de implantação
<a name="monitoring-sns-event-notifications-edit-trigger"></a>

Se os requisitos de notificação forem alterados, você poderá modificar seu gatilho em vez de criar um novo.

## Modificar um CodeDeploy gatilho (CLI)
<a name="monitoring-sns-event-notifications-edit-trigger-cli"></a>

 Para usar os detalhes do acionador AWS CLI para alterar os CodeDeploy eventos ao atualizar um grupo de implantação, crie um arquivo JSON para definir as alterações nas propriedades do grupo de implantação e, em seguida, execute o [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)comando com a `--cli-input-json` opção. 

A maneira mais simples de criar o arquivo JSON é executar o comando **get-deployment-group** para obter os detalhes do grupo de implantação atual no formato JSON e depois editar os valores necessários em um editor de texto simples.

1. Execute o comando a seguir, substituindo os nomes do seu aplicativo e do grupo de implantação por *application* e: *deployment-group*

   ```
   aws deploy get-deployment-group --application-name application --deployment-group-name deployment-group
   ```

1. Copie os resultados do comando em um editor de texto simples e exclua o seguinte:
   + No início da saída, exclua `{ "deploymentGroupInfo":`. 
   + No final da saída, exclua `}`. 
   + Exclua a linha que contém `deploymentGroupId`.
   + Exclua a linha que contém `deploymentGroupName`.

   O conteúdo do seu arquivo de texto agora deve ser semelhante ao seguinte:

   ```
   {
       "applicationName": "TestApp-us-east-2",
       "deploymentConfigName": "CodeDeployDefault.OneAtATime",
       "autoScalingGroups": [],
       "ec2TagFilters": [
           {
               "Type": "KEY_AND_VALUE",
               "Value": "East-1-Instances",
               "Key": "Name"
           }
       ],
       "triggerConfigurations": [
           {
               "triggerEvents": [
                   "DeploymentStart",
                   "DeploymentSuccess",
                   "DeploymentFailure",
                   "DeploymentStop"
               ],
               "triggerTargetArn": "arn:aws:sns:us-east-2:111222333444:Trigger-group-us-east-2",
               "triggerName": "Trigger-group-us-east-2"
           }
       ],
       "serviceRoleArn": "arn:aws:iam::444455556666:role/AnyCompany-service-role",
       "onPremisesInstanceTagFilters": []
   }
   ```

1. Altere quaisquer parâmetros, conforme necessário. Para obter informações sobre os parâmetros de configuração do acionador, consulte [TriggerConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TriggerConfig.html).

1. Salve suas atualizações como um arquivo JSON e execute o [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)comando usando a `--cli-input-json` opção. Certifique-se de incluir a `--current-deployment-group-name` opção e substituir o nome do seu arquivo JSON por*filename*: 
**Importante**  
Não se esqueça de incluir `file://` antes do nome de arquivo. Ele é obrigatório nesse comando.

   ```
   aws deploy update-deployment-group --current-deployment-group-name deployment-group-name --cli-input-json file://filename.json
   ```

No final do processo de criação, você receberá uma mensagem de notificação de teste indicando que tanto as permissões quanto os detalhes do gatilho estão configurados corretamente.

# Excluir um gatilho de um grupo CodeDeploy de implantação
<a name="monitoring-sns-event-notifications-delete-trigger"></a>

Como há um limite de 10 gatilhos por grupo de implantação, talvez você queira excluir disparadores se eles não estiverem em uso. Não é possível desfazer a exclusão de um trigger, mas é possível recriar um.

## Excluir um gatilho de um grupo de implantação (console)
<a name="monitoring-sns-event-notifications-delete-trigger-console"></a>

1. Faça login no Console de gerenciamento da AWS e abra o CodeDeploy console em [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Faça login com o mesmo usuário que você configurou em [Começando com CodeDeploy](getting-started-codedeploy.md).

1. No painel de navegação, expanda a opção **Implantar** e escolha **Aplicativos**.

1. Na página **Applications (Aplicativos)**, escolha o nome do aplicativo associado ao grupo de implantação do qual você deseja excluir um gatilho.

1. Na página **Application details (Detalhes do aplicativo)**, escolha o grupo de implantação do qual você deseja excluir um gatilho.

1.  Escolha **Editar**. 

1.  Expanda **Avançado - opcional**. 

1. Na área **Triggers (Gatilhos)**, escolha o gatilho que deseja excluir e selecione **Delete trigger (Excluir gatilho)**. 

1.  Escolha **Salvar alterações**. 

## Excluir um gatilho de um grupo de implantação (CLI)
<a name="monitoring-sns-event-notifications-delete-trigger-cli"></a>

Para usar a CLI para excluir um gatilho, chame o comando [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html) com parâmetros de configuração de gatilho vazios, especificando:
+ O nome do aplicativo associado ao grupo de implantação. Para ver uma lista de nomes de aplicativos, chame o comando [list-applications](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-applications.html).
+ O nome do grupo de implantação associado ao aplicativo. Para ver uma lista de nomes de grupos de implantação, chame o comando [list-deployment-groups](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-groups.html).

Por exemplo:

```
aws deploy update-deployment-group --application-name application-name --current-deployment-group-name deployment-group-name --trigger-configurations
```

# Formatos de dados JSON para acionadores CodeDeploy
<a name="monitoring-sns-event-notifications-json-format"></a>

Você pode usar a saída JSON que é criada quando um gatilho para uma implantação ou instância é ativado em um fluxo de trabalho de notificação personalizado, como enviar mensagens a filas do Amazon SQS ou invocar uma função no AWS Lambda. 

**nota**  
Este guia não aborda como configurar notificações usando o JSON. Para obter informações sobre o uso do Amazon SNS para enviar mensagens para filas do Amazon SQS, consulte [Envio de mensagens do Amazon SNS para filas do Amazon SQS](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html). Para obter informações sobre o uso do Amazon SNS para invocar uma função do Lambda, consulte [Invocação de funções do Lambda usando notificações do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-lambda.html).

Os exemplos a seguir mostram a estrutura da saída JSON disponível com gatilhos do CodeDeploy.

**Exemplo de saída JSON para gatilhos com base em instâncias**

```
{
    "region": "us-east-2",
    "accountId": "111222333444",
    "eventTriggerName": "trigger-group-us-east-instance-succeeded",
    "deploymentId": "d-75I7MBT7C",
    "instanceId": "arn:aws:ec2:us-east-2:444455556666:instance/i-496589f7",
    "lastUpdatedAt": "1446744207.564",
    "instanceStatus": "Succeeded",
    "lifecycleEvents": [
        {
            "LifecycleEvent": "ApplicationStop",
            "LifecycleEventStatus": "Succeeded",
            "StartTime": "1446744188.595",
            "EndTime": "1446744188.711"
        },
        {
            "LifecycleEvent": "BeforeInstall",
            "LifecycleEventStatus": "Succeeded",
            "StartTime": "1446744189.827",
            "EndTime": "1446744190.402"
        }
//More lifecycle events might be listed here
    ]
}
```

**Exemplo de saída JSON para gatilhos com base em implantação**

```
{
    "region": "us-west-1",
    "accountId": "111222333444",
    "eventTriggerName": "Trigger-group-us-west-3-deploy-failed",
    "applicationName": "ProductionApp-us-west-3",
    "deploymentId": "d-75I7MBT7C",
    "deploymentGroupName": "dep-group-def-456",
    "createTime": "1446744188.595",
    "completeTime": "1446744190.402",
    "deploymentOverview": {
        "Failed": "10",
        "InProgress": "0",
        "Pending": "0",
        "Skipped": "0",
        "Succeeded": "0"
    },
    "status": "Failed",
    "errorInformation": {
        "ErrorCode": "IAM_ROLE_MISSING",
        "ErrorMessage": "IAM Role is missing for deployment group: dep-group-def-456"
    }
}
```