

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

# Alarmes de ingestão de APMs com integração direta com o Amazon SNS
<a name="idr-gs-ingest-apm-sns"></a>

Se o seu APM suporta o envio de alarmes para tópicos do Amazon SNS, você pode seguir este guia para incluir seus alarmes de APM no AWS Incident Detection and Response.

Você pode implantar o [CloudFormation modelo](https://dcl74d3hc5lj1.cloudfront.net/apms/ThirdPartyApmSnsIntegration.json) fornecido ou configurar manualmente essa integração. Antes de configurar a integração, verifique se a função AWS vinculada ao serviço (SLR) `AWSServiceRoleForHealth_EventProcessor` [foi criada](https://docs.aws.amazon.com/IDR/latest/userguide/idr-gs-access-prov.html) em suas contas.

## Opção 1: Usando CloudFormation
<a name="idr-gs-apm-sns-cfn"></a>

Um CloudFormation modelo está disponível para simplificar o processo de criação da infraestrutura de integração necessária para ingerir alarmes para o AWS Incident Detection and Response do seu APM com a integração do Amazon SNS.

**nota**  
Custos adicionais serão incorridos com recursos implantados por meio desse CloudFormation modelo (por exemplo: Lambda e). EventBridge Para obter mais informações sobre os preços desses serviços, consulte [AWS Preços](https://aws.amazon.com/pricing/).
Esse CloudFormation modelo deve ser implantado em todas as AWS contas e regiões das quais os alarmes precisam ser ingeridos pelo AWS Incident Detection and Response.
Os exemplos fornecidos neste documento são para Grafana, no entanto, esse modelo pode ser usado para qualquer APM que tenha integração direta com o Amazon Simple Notification Service.
Por motivos de segurança, AWS recomenda remover `logger.info()` as declarações do `TransformLambdaFunction` para evitar que a carga seja registrada no Amazon CloudWatch Logs.

**Pré-requisitos para implantar esse modelo: CloudFormation **
+ Um tópico do Amazon Simple Notification Service deve ser criado para receber eventos de alarme do seu APM. [Crie um tópico do SNS no console do Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html#create-topic-aws-console).
+ O `TransformLambdaFunction` no modelo deve ser modificado `["detail"]["incident-detection-response-identifier"]` para definir o valor desejado com base no APM que está sendo usado.

**Conclusão do pré-requisito:**

1. Abra o console do Amazon SNS e selecione Tópicos. Copie o ARN do tópico SNS criado para receber eventos de alarme do seu APM.
   + Exemplo: `arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns`

1. Baixe e abra o [CloudFormation modelo](https://dcl74d3hc5lj1.cloudfront.net/apms/ThirdPartyApmSnsIntegration.json)
   + Localize o `TransformLambdaFunction` no modelo
     + Em `def lambda_handler(event, context)` definido como `event["detail"]["incident-detection-response-identifier"]` o caminho json em que o nome do alarme aparece na carga JSON do registro SNS.
       + Qualquer evento enviado para o `TransformLambdaFunction` via SNS tem uma estrutura de carga principal como. `event["Records"][n]["Sns"]["Message"]` A origem real da carga útil da fonte (APM) está encapsulada dentro da estrutura principal.
       + **Exemplo para Grafana:** `event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]`

**Implantando o CloudFormation modelo:**

1. Navegue até o CloudFormation console na conta e na região em que você precisa configurar a integração.

1. Navegue até CloudFormation.
   + Escolha Criar pilha, com novos recursos (padrão)
     + Selecione Escolher um modelo existente, Carregar um arquivo de modelo, Escolher arquivo e, em seguida, carregue o CloudFormation modelo que você salvou localmente.

1. Especifique os detalhes da pilha:
   + Digite um nome de pilha *Exemplo:* `<your-apm-name>IntegrationForIDR`
   + Especifique os valores dos parâmetros obtidos durante o preenchimento **do pré-requisito**
     + APMNameParameter*Exemplo:* `Grafana`
     + *Exemplo do parâmetro TriggerSNS:* `arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns`
   + Escolha Próximo.

1. Configure as opções de pilha:
   + Role até o final da página e confirme a caixa de seleção para permitir CloudFormation a criação de recursos do IAM com nomes personalizados.

1. Revisar e criar:
   + Verifique se os valores dos parâmetros estão configurados corretamente e escolha Enviar.

1. A CloudFormation pilha implantará os recursos necessários para integrar seus eventos de APM ao AWS Incident Detection and Response. Espere até que o status da CloudFormation pilha seja **CREATE\_COMPLETE**.

1. A CloudFormation pilha cria os recursos abaixo assumindo que os valores de exemplo foram inseridos nos parâmetros do Grafana e foram executados na região. EU-WEST-1 
   + CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus
   + Assinatura SNS: arn: aws: sns:eu-west- 1:012345678912: grafana-sns: [random\_string]
   + TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-eu-west-1
   + TransformLambdaFunction: Grafana-AWSIncidentDetectionResponse-Lambda-Transform
   + TransformLambdaPermission: GrafanaIntegrationForIDR-TransformLambdaPermission - [seqüência\_aleatória]

**Teste de integração**

Depois que a CloudFormation pilha for implantada com sucesso, você poderá validar a integração enviando uma carga de teste do seu APM. Depois que a carga de teste for enviada do seu APM:

1. Navegue até o console Lambda e selecione a `APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform` função. Em seguida, escolha a guia Monitor.

1. Uma invocação bem-sucedida deve ser observada nos gráficos métricos.

1. Selecione Exibir CloudWatch registros da Amazon. Você pode verificar a partir dos eventos de log nos fluxos de log para confirmar se a carga de teste enviada do seu APM está presente ou se algum erro foi encontrado.

**Compartilhando seu ARN do Event Bus com o AWS Incident Detection and Response**

1. Navegue até o Amazon EventBridge Console. Selecione Ônibus de eventos.

1. Registre o ARN do **barramento de eventos personalizado** implantado como parte da CloudFormation pilha, por exemplo:. `arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-AWSIncidentDetectionResponse-EventBus`
   + Forneça o ARN desse barramento de eventos personalizado para o AWS Incident Detection and Response no campo “EventBridge Event Bus ARN” da seção “Third-Party APM Alarms” do. [Questionário de ingestão de alarmes - Visão geral](idr-gs-questionnaire.md#idr-gs-alarm-questionnaire)

1. Durante o processo de integração, o AWS Incident Detection and Response criará uma EventBridge regra gerenciada nesse barramento de eventos personalizado para ingerir seus alarmes de APM.

## Opção 2: integração manual
<a name="idr-gs-apm-sns-manual"></a>

![Diagrama mostrando um exemplo de integração usando o Amazon SNS.](http://docs.aws.amazon.com/pt_br/IDR/latest/userguide/images/example-int-sns.png)


1. Abra o console do Amazon SNS e [crie um tópico de SNS no console do Amazon Simple Notification Service](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html#create-topic-aws-console) chamado `[apm_name]-sns` para receber eventos de alarmes do seu APM. Observe o ARN do tópico SNS criado.

1. Execute um dos seguintes:
   + (Recomendado) Crie um barramento de eventos EventBridge personalizado chamado`[apm_name]-AWSIncidentDetectionResponse-EventBus`.
   + (Alternativa) Use o barramento de EventBridge eventos padrão em vez de um barramento de eventos personalizado.

   O AWS Incident Detection and Response instalará uma regra gerenciada (`AWSHealthEventProcessorEventSource-DO-NOT-DELETE`) no barramento de eventos personalizado ou padrão por meio da `AWSServiceRoleForHealth_EventProcessor` SLR. A fonte da regra será o barramento de eventos personalizado ou padrão, o destino da regra será o AWS Incident Detection and Response, e a regra corresponderá ao padrão de ingestão de eventos de APM de terceiros.

1. Crie uma função [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) chamada `$YourApmName-AWSIncidentDetectionResponse-LambdaFunction` para transformar suas cargas do SNS.
   + Os eventos transformados devem atender aos requisitos de carga útil, conforme estabelecido em [Requisitos de carga útil para ingerir alertas de APM com EventBridge](idr-gs-apm-payload-requirements.md)
   + Defina o destino da função Lambda para o barramento de eventos personalizado (recomendado) criado na Etapa 2 ou para o barramento de eventos padrão.

1. Defina o tópico do SNS como um gatilho para sua função `$YourApmName-AWSIncidentDetectionResponse-LambdaFunction` Lambda.
   + Na página “Adicionar acionadores”, pesquise por “SNS”.
   + Adicione o ARN do seu tópico de SNS dedicado criado na Etapa 1.
   + Escolha “Adicionar”.

1. Siga sua documentação de APM para configurar um destino de SNS para suas cargas de APM que precisam ser ingeridas pelo AWS Incident Detection and Response.

O AWS Incident Detection and Response instalará uma regra gerenciada (`AWSHealthEventProcessorEventSource-DO-NOT-DELETE`) no barramento de eventos personalizado ou padrão por meio da `AWSServiceRoleForHealth_EventProcessor` SLR. A fonte da regra será o barramento de eventos personalizado ou padrão, o destino da regra será o AWS Incident Detection and Response, e a regra corresponderá ao padrão de ingestão de eventos de APM de terceiros.