Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Administre alarmas de APM con la integración directa de Amazon SNS
Si su APM admite el envío de alarmas a los temas de Amazon SNS, puede seguir esta guía para incorporar sus alarmas de APM a AWS Incident Detection and Response.
Puede implementar la CloudFormation plantillaAWSServiceRoleForHealth_EventProcessor se haya creado en sus cuentas.
Opción 1: usar CloudFormation
Hay disponible una CloudFormation plantilla para simplificar el proceso de creación de la infraestructura de integración necesaria para incorporar alarmas a AWS Incident Detection and Response desde su APM con la integración de Amazon SNS.
nota
-
Se incurrirá en costos adicionales por los recursos implementados a través de esta CloudFormation plantilla (por ejemplo, Lambda y EventBridge). Para obtener más información sobre los precios de estos servicios, consulte AWS Precios
. -
Esta CloudFormation plantilla debe implementarse en todas las AWS cuentas y regiones desde las que AWS Incident Detection and Response necesite ingerir las alarmas.
-
Los ejemplos que se proporcionan en este documento son para Grafana, sin embargo, esta plantilla se puede utilizar para cualquier APM que tenga una integración directa con Amazon Simple Notification Service.
-
Por motivos de seguridad, AWS recomienda eliminar
logger.info()las declaraciones delTransformLambdaFunctionpara evitar que la carga se registre en Amazon CloudWatch Logs.
Requisitos previos para implementar esta CloudFormation plantilla:
-
Debe crearse un tema de Amazon Simple Notification Service para recibir los eventos de alarma de su APM. Cree un tema de SNS en la consola de Amazon Simple Notification Service.
-
El
TransformLambdaFunctioncontenido de la plantilla debe modificarse["detail"]["incident-detection-response-identifier"]para establecer el valor deseado en función del APM que se utilice.
Cumplimiento del requisito previo:
-
Abra la consola Amazon SNS y, a continuación, seleccione Temas. Copie el ARN del tema de SNS creado para recibir eventos de alarma de su APM.
-
Ejemplo:
arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns
-
-
Descarga y abre la plantilla CloudFormation
-
Ubique el
TransformLambdaFunctionen la plantilla-
Seleccione
def lambda_handler(event, context)la ruta json en laevent["detail"]["incident-detection-response-identifier"]que aparece el nombre de la alarma en la carga útil JSON del registro SNS.-
Cualquier evento enviado a
TransformLambdaFunctiontravés de SNS tiene una estructura de carga principal como.event["Records"][n]["Sns"]["Message"]El origen real de la carga útil desde la fuente (APM) está incluido dentro de la estructura principal. -
Ejemplo de Grafana:
event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]
-
-
-
Implementación de la CloudFormation plantilla:
-
Dirígete a la CloudFormation consola de la cuenta y la región en las que necesitas configurar la integración.
-
Navega hasta CloudFormation.
-
Elige Crear pila, con nuevos recursos (estándar)
-
Selecciona Elegir una plantilla existente, Cargar un archivo de plantilla, Elegir archivo y, a continuación, carga la CloudFormation plantilla que guardaste localmente.
-
-
-
Especifica los detalles de la pila:
-
Introduzca un nombre de pila Ejemplo:
<your-apm-name>IntegrationForIDR -
Especifique los valores de los parámetros obtenidos al completar el requisito previo
-
APMNameParameterEjemplo:
Grafana -
Ejemplo de TriggerSNParameter:
arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns
-
-
Elija Siguiente.
-
-
Configure las opciones de pila:
-
Desplázate hasta el final de la página y marca la casilla de verificación CloudFormation para permitir la creación de recursos de IAM con nombres personalizados.
-
-
Revise y cree:
-
Compruebe que los valores de los parámetros estén configurados correctamente y, a continuación, seleccione Enviar.
-
-
La CloudFormation pila desplegará los recursos necesarios para integrar sus eventos de APM en AWS Incident Detection and Response. Espere a que el estado de la CloudFormation pila sea CREATE_COMPLETE.
-
La CloudFormation pila crea los siguientes recursos suponiendo que los valores del ejemplo se ingresaron en los parámetros de Grafana y se ejecutaron en la EU-WEST-1 región.
-
CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus
-
Suscripción a 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: - [caden_aleatoria]
-
Pruebas de integración
Una vez que la CloudFormation pila se haya desplegado correctamente, puede validar la integración enviando una carga útil de prueba desde su APM. Una vez que tu APM envíe la carga útil de prueba:
-
Navegue hasta la consola Lambda y seleccione la
APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transformfunción. A continuación, seleccione la pestaña Monitor. -
Se debe observar una invocación exitosa en los gráficos métricos.
-
Selecciona Ver Amazon CloudWatch Logs. Puede comprobar los eventos de registro de los flujos de registro para confirmar que la carga útil de prueba enviada desde su APM está presente o si se ha encontrado algún error.
Compartir el ARN de su bus de eventos con AWS Incident Detection and Response
-
Ve a Amazon EventBridge Console. Selecciona los autobuses del evento.
-
Registre el ARN del bus de eventos personalizado implementado como parte de la CloudFormation pila, por ejemplo:.
arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-AWSIncidentDetectionResponse-EventBus-
Proporcione el ARN de este bus de eventos personalizado a AWS Incident Detection and Response en el campo «ARN del bus de EventBridge eventos» de la sección «Alarmas Third-Party APM» del. Cuestionario sobre la ingesta de alarmas: descripción general
-
-
Durante el proceso de incorporación, AWS Incident Detection and Response creará una EventBridge regla administrada en este bus de eventos personalizado para ingerir las alarmas de APM.
Opción 2: integración manual
-
Abra la consola Amazon SNS y cree un tema de SNS en la consola de Amazon Simple Notification Service con el nombre
[apm_name]-snspara recibir los eventos de alarma de su APM. Anote el ARN del tema de SNS creado. -
Lleve a cabo una de las siguientes operaciones:
-
(Recomendado) Cree un bus de eventos EventBridge personalizado con el nombre.
[apm_name]-AWSIncidentDetectionResponse-EventBus -
(Alternativa) Utilice el bus de EventBridge eventos predeterminado en lugar de un bus de eventos personalizado.
AWS Incident Detection and Response instalará una regla administrada (
AWSHealthEventProcessorEventSource-DO-NOT-DELETE) en el bus de eventos personalizado o predeterminado a través de laAWSServiceRoleForHealth_EventProcessorSLR. El origen de la regla será el bus de eventos personalizado o predeterminado, el destino de la regla será AWS Incident Detection and Response y la regla coincidirá con el patrón de ingesta de eventos de APM de terceros. -
-
Cree una función Lambda con el nombre de transformar sus
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctioncargas útiles de SNS.-
Los eventos transformados deben cumplir los requisitos de carga útil establecidos en Requisitos de carga útil para ingerir alertas de APM con EventBridge
-
Defina el objetivo de la función Lambda en el bus de eventos personalizado (recomendado) creado en el paso 2 o en el bus de eventos predeterminado.
-
-
Defina el tema SNS como activador de la función
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctionLambda.-
En la página «Añadir activadores», busque «SNS».
-
Añada el ARN de su tema de SNS dedicado creado en el paso 1.
-
Selecciona «Añadir».
-
-
Siga la documentación de APM para configurar un destino de SNS para las cargas útiles de APM que AWS Incident Detection and Response debe ingerir.
AWS Incident Detection and Response instalará una regla administrada (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) en el bus de eventos personalizado o predeterminado a través de la AWSServiceRoleForHealth_EventProcessor SLR. El origen de la regla será el bus de eventos personalizado o predeterminado, el destino de la regla será AWS Incident Detection and Response y la regla coincidirá con el patrón de ingesta de eventos de APM de terceros.