View a markdown version of this page

Alarmes de ingestão de APMs com integração direta com o Amazon SNS - Guia do usuário do AWS Incident Detection and Response

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

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 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 em suas contas.

Opção 1: Usando CloudFormation

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.

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

  • 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

  2. Baixe e abra o CloudFormation modelo

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

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

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

      • APMNameParameterExemplo: Grafana

      • Exemplo do parâmetro TriggerSNS: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

    • Escolha Próximo.

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

  5. Revisar e criar:

    • Verifique se os valores dos parâmetros estão configurados corretamente e escolha Enviar.

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

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

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

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

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

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

Diagrama mostrando um exemplo de integração usando o Amazon SNS.
  1. Abra o console do Amazon SNS e crie um tópico de SNS no console do Amazon Simple Notification Service chamado [apm_name]-sns para receber eventos de alarmes do seu APM. Observe o ARN do tópico SNS criado.

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

  3. Crie uma função Lambda chamada $YourApmName-AWSIncidentDetectionResponse-LambdaFunction para transformar suas cargas do SNS.

  4. 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”.

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