Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Ingérez les alarmes des APM grâce à l'intégration directe d'Amazon SNS
Si votre APM prend en charge l'envoi d'alarmes vers les rubriques Amazon SNS, vous pouvez suivre ce guide pour intégrer vos alarmes APM à AWS Incident Detection and Response.
Vous pouvez déployer le CloudFormation modèleAWSServiceRoleForHealth_EventProcessor est créé dans vos comptes.
Option 1 : utilisation CloudFormation
Un CloudFormation modèle est disponible pour simplifier le processus de création de l'infrastructure d'intégration requise pour intégrer les alarmes à AWS Incident Detection and Response depuis votre APM avec l'intégration Amazon SNS.
Note
-
Des coûts supplémentaires seront encourus pour les ressources déployées via ce CloudFormation modèle (par exemple : Lambda et EventBridge). Pour plus d'informations sur la tarification de ces services, consultez la section AWS Tarification
. -
Ce CloudFormation modèle doit être déployé dans tous les AWS comptes et régions à partir desquels les alarmes doivent être ingérées par AWS Incident Detection and Response.
-
Les exemples fournis dans ce document concernent Grafana, mais ce modèle peut être utilisé pour tout APM directement intégré à Amazon Simple Notification Service.
-
Pour des raisons de sécurité, AWS recommande de supprimer les
logger.info()instructions duTransformLambdaFunctionafin d'empêcher la charge utile d'être enregistrée dans Amazon CloudWatch Logs.
Conditions préalables au déploiement de ce CloudFormation modèle :
-
Une rubrique Amazon Simple Notification Service doit être créée pour recevoir les événements d'alarme de votre APM. Créez une rubrique SNS dans la console Amazon Simple Notification Service.
-
Le
TransformLambdaFunctioncontenu du modèle doit être modifié pour être défini["detail"]["incident-detection-response-identifier"]sur la valeur souhaitée en fonction de l'APM utilisé.
Réalisation des prérequis :
-
Ouvrez la console Amazon SNS, puis sélectionnez Rubriques. Copiez l'ARN de la rubrique SNS créée pour recevoir les événements d'alarme de votre APM.
-
Exemple :
arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns
-
-
Téléchargez et ouvrez le CloudFormation modèle
-
Localisez le
TransformLambdaFunctiondans le modèle-
def lambda_handler(event, context)Sous-défini surevent["detail"]["incident-detection-response-identifier"]le chemin json où le nom de l'alarme apparaît dans la charge utile JSON de l'enregistrement SNS.-
Tout événement envoyé au
TransformLambdaFunctionvia SNS a une structure de charge utile parent sous la forme.event["Records"][n]["Sns"]["Message"]L'origine réelle de la charge utile provenant de la source (APM) est intégrée à la structure parent. -
Exemple pour Grafana :
event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]
-
-
-
Déploiement du CloudFormation modèle :
-
Accédez à la CloudFormation console du compte et de la région dans lesquels vous devez configurer l'intégration.
-
Naviguez vers CloudFormation.
-
Choisissez Créer une pile, avec de nouvelles ressources (standard)
-
Sélectionnez Choisir un modèle existant, Charger un fichier modèle, Choisir un fichier, puis téléchargez le CloudFormation modèle que vous avez enregistré localement.
-
-
-
Spécifiez les détails de la pile :
-
Entrez un nom de pile Exemple :
<your-apm-name>IntegrationForIDR -
Spécifiez les valeurs des paramètres obtenues lors de la réalisation des prérequis
-
APMNameParameterExemple :
Grafana -
Exemple de paramètre TriggerSNSParameter :
arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns
-
-
Choisissez Suivant.
-
-
Configurez les options de pile :
-
Accédez au bas de la page et confirmez la case à cocher pour autoriser la création CloudFormation de ressources IAM avec des noms personnalisés.
-
-
Vérifiez et créez :
-
Vérifiez que les valeurs des paramètres sont correctement configurées, puis choisissez Soumettre.
-
-
La CloudFormation pile déploiera les ressources nécessaires pour intégrer vos événements APM à AWS Incident Detection and Response. Attendez que le statut de la CloudFormation pile soit CREATE_COMPLETE.
-
La CloudFormation pile crée les ressources ci-dessous en supposant que les valeurs d'exemple ont été saisies dans les paramètres de Grafana et ont été exécutées dans la EU-WEST-1 région.
-
CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus
-
Abonnement 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 - [chaîne_aléatoire]
-
Tests d'intégration
Une fois la CloudFormation pile déployée avec succès, vous pouvez valider l'intégration en envoyant une charge utile de test depuis votre APM. Une fois que la charge utile de test est envoyée depuis votre APM :
-
Accédez à la console Lambda et sélectionnez la
APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transformfonction. Choisissez ensuite l'onglet Moniteur. -
Un appel réussi doit être observé dans les graphiques métriques.
-
Sélectionnez Afficher Amazon CloudWatch Logs. Vous pouvez vérifier à partir des événements du journal dans les flux de journal que la charge utile de test envoyée par votre APM est présente ou si des erreurs ont été détectées.
Partage de l'ARN de votre bus d'événements avec AWS Incident Detection and Response
-
Accédez à la EventBridge console Amazon. Sélectionnez Event Bus.
-
Enregistrez l'ARN du bus d'événements personnalisé déployé dans le cadre de la CloudFormation pile, par exemple :
arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-AWSIncidentDetectionResponse-EventBus.-
Fournissez l'ARN de ce bus d'événements personnalisé à AWS Incident Detection and Response dans le champ « ARN du bus d'EventBridge événements » de la section « Alarmes Third-Party APM » duQuestionnaire sur l'ingestion d'alarmes - Aperçu.
-
-
Au cours du processus d'intégration, AWS Incident Detection and Response créera une EventBridge règle gérée sur ce bus d'événements personnalisé afin d'ingérer vos alarmes APM.
Option 2 : intégration manuelle
-
Ouvrez la console Amazon SNS et créez une rubrique SNS dans la console Amazon Simple Notification Service nommée
[apm_name]-snspour recevoir les événements d'alarme de votre APM. Notez l'ARN de la rubrique SNS créée. -
Effectuez l'une des actions suivantes :
-
(Recommandé) Créez un bus d'événements EventBridge personnalisé nommé
[apm_name]-AWSIncidentDetectionResponse-EventBus. -
(Alternative) Utilisez le bus d' EventBridge événements par défaut au lieu d'un bus d'événements personnalisé.
AWS Incident Detection and Response installera une règle gérée (
AWSHealthEventProcessorEventSource-DO-NOT-DELETE) sur le bus d'événements personnalisé ou par défaut via leAWSServiceRoleForHealth_EventProcessorSLR. La source de la règle sera le bus d'événements personnalisé ou par défaut, la destination de la règle sera AWS Incident Detection and Response, et la règle correspondra au modèle d'ingestion d'événements APM tiers. -
-
Créez une fonction Lambda nommée
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctionpour transformer vos charges utiles SNS.-
Les événements transformés doivent répondre aux exigences de charge utile définies dans Exigences de charge utile pour l'ingestion d'alertes APM avec EventBridge
-
Définissez la cible de la fonction Lambda sur le bus d'événements personnalisé (recommandé) créé à l'étape 2 ou sur votre bus d'événements par défaut.
-
-
Définissez le sujet SNS comme déclencheur pour votre fonction
$YourApmName-AWSIncidentDetectionResponse-LambdaFunctionLambda.-
Sur la page « Ajouter des déclencheurs », recherchez « SNS ».
-
Ajoutez l'ARN de votre rubrique SNS dédiée créée à l'étape 1.
-
Choisissez « Ajouter ».
-
-
Suivez votre documentation APM pour configurer une destination SNS pour vos charges utiles APM qui doivent être ingérées par AWS Incident Detection and Response.
AWS Incident Detection and Response installera une règle gérée (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) sur le bus d'événements personnalisé ou par défaut via le AWSServiceRoleForHealth_EventProcessor SLR. La source de la règle sera le bus d'événements personnalisé ou par défaut, la destination de la règle sera AWS Incident Detection and Response, et la règle correspondra au modèle d'ingestion d'événements APM tiers.