

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

# Ingira alarmes de APMs sem integração direta com EventBridge
<a name="idr-gs-ingest-apm-webhooks"></a>

O AWS Incident Detection and Response oferece suporte ao uso de webhooks para ingestão de alarmes de APMs de terceiros que não têm integração direta com a Amazon. EventBridge

Você pode implantar um CloudFormation modelo ou configurar manualmente a 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 Modelo
<a name="idr-gs-apm-webhook-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 que não tem integração direta com a Amazon. EventBridge

**Considerações antes de implantar este modelo CloudFormation **
+ Essa solução usa um API Gateway Lambda Authorizer para comparar um token secreto passado na carga do seu APM com um token de entrada. AWS Secrets Manager Se o token não corresponder, uma política com uma negação explícita será retornada. Para obter mais informações, consulte [Autorizadores Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html).
+ No modelo de Responsabilidade AWS Compartilhada, é sua responsabilidade garantir o uso de uma abordagem de autenticação que atenda aos requisitos de segurança da sua organização. Recomendamos o uso AWS Secrets Manager de um serviço similar, em vez de armazenar informações confidenciais, como chaves de API ou tokens de autorização, como variáveis codificadas. Para obter mais informações, consulte [Criar e gerenciar segredos com o AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets.html).
+ Para ver mais um exemplo de implementação do Código de Autenticação de Hash-Based Mensagens (HMAC), consulte [receive-webhooks na](https://github.com/aws-samples/webhooks/tree/main/receive-webhooks) página aws-samples do Github. Para obter mais informações sobre a implementação da autorização de token, consulte o [exemplo da função Lambda do autorizador de TOKEN](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html#api-gateway-lambda-authorizer-token-lambda-function-create) na documentação do API Gateway.
+ A solução usa **RateLimit**BurstLimit****, e a **cota** no API Gateway para controlar os volumes de solicitações. Essas ferramentas limitam quantas solicitações podem ser processadas em um determinado horário. Isso ajuda a evitar a sobrecarga do sistema e mantém o serviço estável. Para obter mais informações sobre limitação, consulte o Guia do [desenvolvedor do API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html).
+ Considere usar o AWS Web Application Firewall (WAF) para proteger o API Gateway de endereços IP inválidos conhecidos. Isso reduz o risco de invasores inundarem a API com solicitações falsas que podem bloquear eventos de log reais.
+ AWS Secrets Manager os valores de token devem ser armazenados na ferramenta Application Performance Monitoring (APM) como um cabeçalho HTTP. Certifique-se de alternar o token regularmente como uma prática recomendada de segurança.
+ 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/).
+ Depois de testar a integração, remova as instruções logger.info () da (função `TransformLambdaFunction` Lambda) para evitar que as cargas apareçam no Amazon Logs. CloudWatch 
+ Implante esse CloudFormation modelo em todas as AWS contas e regiões das quais o AWS Incident Detection and Response precisa ingerir alarmes.

**Preparando o CloudFormation modelo:**

**Observação:** as etapas de integração usam o Dynatrace como exemplo. No entanto, esse modelo pode ser usado para qualquer APM que possa enviar cargas para um API Gateway.

1. Baixe e abra o [CloudFormation modelo](https://dcl74d3hc5lj1.cloudfront.net/apms/ThirdPartyApmWebhookIntegration.json).

1. Localize `APIGWUsagePlan` no modelo. Revise os valores configurados para `RateLimit``BurstLimit`, e `Quota Limit` que estão definidos como 20, 50 e 2000 por padrão. Ajuste os valores para atender às suas necessidades.

1. Localize `AuthorizerLambdaFunction` no modelo. Essa função Lambda serve como exemplo de mecanismo de autenticação. Ele extrai um valor de token de um cabeçalho chamado`authorizationToken`, que é passado do seu APM. Você pode modificar esse código para se alinhar às políticas de segurança e aos requisitos de APM da sua organização.

1. Localize o `TransformLambdaFunction` no modelo. Substitua o caminho do dicionário`raw_json["detail"]["ProblemTitle"]`,, pelo caminho para o nome do seu alarme que é enviado na carga JSON do seu APM. Deixe isso como está para a Dynatrace.

**Implantando o CloudFormation modelo:**

1. Abra o CloudFormation console em sua conta de destino Região da AWS e.

1. 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:
   + Insira o nome da pilha (*exemplo, `DynatraceIntegrationForIDR`*.)
   + APMNameParameter (*exemplo, `Dynatrace`*.)
   + Escolha **Próximo**.

1. Configure as opções de pilha:
   + Role até o final da página e marque a caixa 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 implanta 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 supondo que o valor do exemplo `Dynatrace` tenha sido inserido nos parâmetros e executado na US-EAST-1 região.
   + Nome secreto: DynatraceMySecretTokenName (um valor secreto aleatório será criado com base na chave secreta APMSecureToken)
   + Recursos do API Gateway:
     + Nome da API: Dynatrace-AWSIncidentDetectionResponse-APIGW
     + Nome artístico: Dynatrace-Stage-Prod
     + Autorizadores: Dynatrace-APIGW-Authorizer
     + Plano de uso: APIGW\_ Throttling\_Plan
   + Funções do Lambda:
     + Função para autorização: Dynatrace-AWSIncidentDetectionResponse-Lambda-Authorizer
     + Função para transformação: Dynatrace-AWSIncidentDetectionResponse-Lambda-Transform
   +  EventBus Nome personalizado: Dynatrace-AWSIncidentDetectionResponse-EventBus
   + Função do IAM:
     + TransformLambdaExecutionRole: IDR-TransformLambdaExecutionRole-us-east-1
     + AuthorizerLambdaExecutionRole: IDR-AuthorizerLambdaExecutionRole-us-east-1

1. Registre o URL do Webhook e o valor do token:
   + Abra o console do API Gateway e escolha o nome da API criado como parte da CloudFormation pilha.
   + Escolha Estágios na navegação à esquerda, expanda o nome do palco usando o sinal \+ e escolha POST. Grave o **URL de invocação**. Configure esse URL em seu APM como o destino para enviar webhooks para eventos de alarme.
   + Abra o AWS Secrets Manager console e escolha o nome secreto criado como parte da CloudFormation pilha. (*Exemplo: DynatraceMySecretTokenName.* )
     + Na guia Valor secreto, escolha **Recuperar valor secreto**. Você verá a chave secreta como APMSecureToken. Registre o valor secreto. Não compartilhe esse valor secreto com ninguém.

**Teste de integração**

Depois de implantar a pilha, teste a integração enviando uma carga de teste do seu APM:

1. Navegue até o console Lambda e selecione `APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform` a função. Escolha a guia **Monitor** (Monitorar).

1. Procure uma invocação bem-sucedida nos gráficos métricos.

1. Escolha **Exibir Amazon CloudWatch Logs** para verificar a carga útil do teste ou verificar se há erros nos fluxos de log.

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

1. Abra o Amazon EventBridge Console. Selecione Ônibus de eventos.

1. *Copie o ARN do **barramento de eventos personalizados** criado como parte da CloudFormation pilha, exemplo:. `arn:aws:events:us-east-1:123456789123:event-bus/Dynatrace-AWSIncidentDetectionResponse-EventBus`*
   + Adicione esse ARN ao campo “ARN do EventBridge Event Bus” na seção “Alarmes do Third-Party APM” do seu. [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-webhook-manual"></a>

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


Use as etapas a seguir para configurar a integração com o AWS Incident Detection and Response.

1. Crie um Amazon API Gateway para aceitar a carga do seu APM.

1. Defina uma função Lambda para autorização usando um token de autenticação.

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

1. Defina uma função Transform Lambda para anexar o identificador de detecção e resposta de incidentes da AWS à sua carga. Você também pode usar essa função para filtrar os eventos que deseja enviar para o AWS Incident Detection and Response.
   + O API Gateway deve invocar a função Transform Lambda, que transformará a carga transmitida pelo API Gateway.
   + A função Transform Lambda deve gravar eventos transformados no barramento de eventos definido no ponto 3 acima.

1. Configure seu APM para enviar notificações para o URL gerado pelo API Gateway.