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 modeloAWSServiceRoleForHealth_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 doTransformLambdaFunctionpara 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
TransformLambdaFunctionno 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:
-
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
-
-
Baixe e abra o CloudFormation modelo
-
Localize o
TransformLambdaFunctionno modelo-
Em
def lambda_handler(event, context)definido comoevent["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
TransformLambdaFunctionvia 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:
-
Navegue até o CloudFormation console na conta e na região em que você precisa configurar a integração.
-
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.
-
-
-
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.
-
-
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.
-
-
Revisar e criar:
-
Verifique se os valores dos parâmetros estão configurados corretamente e escolha Enviar.
-
-
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.
-
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:
-
Navegue até o console Lambda e selecione a
APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transformfunção. Em seguida, escolha a guia Monitor. -
Uma invocação bem-sucedida deve ser observada nos gráficos métricos.
-
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
-
Navegue até o Amazon EventBridge Console. Selecione Ônibus de eventos.
-
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
-
-
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
-
Abra o console do Amazon SNS e crie um tópico de SNS no console do Amazon Simple Notification Service chamado
[apm_name]-snspara receber eventos de alarmes do seu APM. Observe o ARN do tópico SNS criado. -
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 daAWSServiceRoleForHealth_EventProcessorSLR. 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. -
-
Crie uma função Lambda chamada
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctionpara 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
-
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.
-
-
Defina o tópico do SNS como um gatilho para sua função
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctionLambda.-
Na página “Adicionar acionadores”, pesquise por “SNS”.
-
Adicione o ARN do seu tópico de SNS dedicado criado na Etapa 1.
-
Escolha “Adicionar”.
-
-
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.