View a markdown version of this page

Erfassen Sie Alarme von APMs mit direkter Amazon SNS SNS-Integration - AWS-Benutzerhandbuch zur Erkennung und Reaktion auf Vorfälle

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erfassen Sie Alarme von APMs mit direkter Amazon SNS SNS-Integration

Wenn Ihr APM das Senden von Alarmen an Amazon SNS SNS-Themen unterstützt, können Sie dieser Anleitung folgen, um Ihre APM-Alarme in AWS Incident Detection and Response aufzunehmen.

Sie können die bereitgestellte CloudFormation Vorlage bereitstellen oder diese Integration manuell einrichten. Stellen Sie vor dem Einrichten der Integration sicher, dass die AWS serviceverknüpfte Rolle (SLR) AWSServiceRoleForHealth_EventProcessor in Ihren Konten erstellt wurde.

Option 1: Verwenden CloudFormation

Es steht eine CloudFormation Vorlage zur Verfügung, um den Prozess der Erstellung der Integrationsinfrastruktur zu vereinfachen, die erforderlich ist, um Alarme von Ihrem APM mit Amazon SNS SNS-Integration in AWS Incident Detection and Response aufzunehmen.

Anmerkung
  • Zusätzliche Kosten fallen für Ressourcen an, die über diese CloudFormation Vorlage bereitgestellt werden (z. B.: Lambda und EventBridge). Weitere Informationen zur Preisgestaltung dieser Dienste finden Sie unter AWS Preisgestaltung.

  • Diese CloudFormation Vorlage muss für jedes AWS Konto und jede Region bereitgestellt werden, aus der Alarme von AWS Incident Detection and Response aufgenommen werden müssen.

  • Die Beispiele in diesem Dokument beziehen sich auf Grafana. Diese Vorlage kann jedoch für jedes APM verwendet werden, das direkt in Amazon Simple Notification Service integriert ist.

  • Aus Sicherheitsgründen AWS empfiehlt es sich, logger.info() Anweisungen aus dem TransformLambdaFunction zu entfernen, um zu verhindern, dass die Nutzdaten in Amazon CloudWatch Logs protokolliert werden.

Voraussetzungen für die Bereitstellung dieser CloudFormation Vorlage:

  • Um Alarmereignisse von Ihrem APM zu empfangen, muss ein Amazon Simple Notification Service-Thema erstellt werden. Erstellen Sie ein SNS-Thema in der Amazon Simple Notification Service-Konsole.

  • Der Wert TransformLambdaFunction in der Vorlage muss geändert werden, sodass er je ["detail"]["incident-detection-response-identifier"] nach verwendetem APM auf den gewünschten Wert gesetzt wird.

Voraussetzung für den Abschluss:

  1. Öffnen Sie die Amazon SNS SNS-Konsole und wählen Sie dann Themen aus. Kopieren Sie den ARN des SNS-Themas, das für den Empfang von Alarmereignissen von Ihrem APM erstellt wurde.

    • Beispiel: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

  2. Laden Sie die Vorlage herunter und öffnen Sie sie CloudFormation

    • Suchen Sie TransformLambdaFunction in der Vorlage nach

      • def lambda_handler(event, context)Unterlegt event["detail"]["incident-detection-response-identifier"] auf den JSON-Pfad, in dem der Alarmname in der JSON-Payload des SNS-Datensatzes erscheint.

        • Jedes Ereignis, das TransformLambdaFunction über SNS an das gesendet wird, hat eine übergeordnete Nutzdatenstruktur als. event["Records"][n]["Sns"]["Message"] Der tatsächliche Ursprung der Nutzlast aus der Quelle (APM) ist in der übergeordneten Struktur enthalten.

        • Beispiel für Grafana: event["Records"][n]["Sns"]["Message"]["alerts"][n]["labels"]["alertname"]

Bereitstellung der CloudFormation Vorlage:

  1. Navigieren Sie zu der CloudFormation Konsole in dem Konto und der Region, in der Sie die Integration einrichten möchten.

  2. Navigieren Sie zu CloudFormation.

    • Wählen Sie Stapel erstellen, Mit neuen Ressourcen (Standard)

      • Wählen Sie „Bestehende Vorlage auswählen“, „Eine Vorlagendatei hochladen“, „Datei auswählen“ und laden Sie dann die CloudFormation Vorlage hoch, die Sie lokal gespeichert haben.

  3. Geben Sie die Stack-Details an:

    • Geben Sie einen Stacknamen ein Beispiel: <your-apm-name>IntegrationForIDR

    • Geben Sie die Parameterwerte an, die beim Abschluss der Voraussetzungen abgerufen wurden

      • APMNameParameterBeispiel: Grafana

      • Beispiel für TriggersNSParameter: arn:aws:sns:eu-west-1:012345678912:<your-apm-name>-sns

    • Wählen Sie Weiter aus.

  4. Stack-Optionen konfigurieren:

    • Scrollen Sie zum Ende der Seite und bestätigen Sie das Kontrollkästchen, um die Erstellung von IAM-Ressourcen mit benutzerdefinierten Namen CloudFormation zu ermöglichen.

  5. Überprüfen und erstellen

    • Stellen Sie sicher, dass die Parameterwerte korrekt konfiguriert sind, und wählen Sie dann Submit.

  6. Der CloudFormation Stack stellt die Ressourcen bereit, die für die Integration Ihrer APM-Ereignisse in AWS Incident Detection and Response erforderlich sind. Warten Sie, bis der CloudFormation Stack-Status CREATE_COMPLETE lautet.

  7. Der CloudFormation Stack erstellt die folgenden Ressourcen unter der Annahme, dass die Beispielwerte in die Parameter für Grafana eingegeben und in der EU-WEST-1 Region ausgeführt wurden.

    • CustomEventBus: Grafana-AWSIncidentDetectionResponse-EventBus

    • SNS-Abonnement: 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: - [zufällige_Zeichenfolge]

Integrationstests

Nachdem der CloudFormation Stack erfolgreich bereitgestellt wurde, können Sie die Integration validieren, indem Sie eine Test-Payload von Ihrem APM senden. Sobald die Test-Payload von Ihrem APM gesendet wurde:

  1. Navigieren Sie zur Lambda-Konsole und wählen Sie die APMNameParameter-AWSIncidentDetectionResponse-Lambda-Transform Funktion aus. Wählen Sie dann die Registerkarte Monitor.

  2. Ein erfolgreicher Aufruf sollte in den metrischen Diagrammen beobachtet werden.

  3. Wählen Sie CloudWatch Amazon-Protokolle anzeigen aus. Anhand der Protokollereignisse in den Protokollstreams können Sie überprüfen, ob die von Ihrem APM gesendete Test-Payload vorhanden ist oder ob Fehler aufgetreten sind.

Weitergabe Ihres Event Bus-ARN an AWS Incident Detection and Response

  1. Navigieren Sie zur EventBridge Amazon-Konsole. Wählen Sie Event-Busse aus.

  2. Notieren Sie den ARN des benutzerdefinierten Event-Busses, der als Teil des CloudFormation Stacks bereitgestellt wird, zum Beispiel:arn:aws:events:eu-west-1:012345678912:event-bus/Grafana-AWSIncidentDetectionResponse-EventBus.

  3. Während des Onboarding-Prozesses erstellt AWS Incident Detection and Response eine verwaltete EventBridge Regel für diesen benutzerdefinierten Event-Bus, um Ihre APM-Alarme aufzunehmen.

Option 2: Manuelle Integration

Diagramm, das ein Beispiel für eine Integration mit Amazon SNS zeigt.
  1. Öffnen Sie die Amazon SNS SNS-Konsole und erstellen Sie in der Amazon Simple Notification Service-Konsole ein SNS-Thema mit dem Namen, Alarmereignisse von Ihrem APM [apm_name]-sns zu empfangen. Notieren Sie sich den ARN des erstellten SNS-Themas.

  2. Führen Sie einen der folgenden Schritte aus:

    • (Empfohlen) Erstellen Sie einen EventBridge benutzerdefinierten Event-Bus mit dem Namen[apm_name]-AWSIncidentDetectionResponse-EventBus.

    • (Alternative) Verwenden Sie den EventBridge Standard-Event-Bus anstelle eines benutzerdefinierten Event-Busses.

    AWS Incident Detection and Response installiert über die AWSServiceRoleForHealth_EventProcessor SLR eine verwaltete Regel (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) auf dem benutzerdefinierten oder standardmäßigen Event-Bus. Die Regelquelle ist der benutzerdefinierte oder standardmäßige Event-Bus, das Regelziel ist AWS Incident Detection and Response, und die Regel entspricht dem Muster für die Aufnahme von APM-Ereignissen von Drittanbietern.

  3. Erstellen Sie eine Lambda-Funktion mit dem Namen$YourApmName-AWSIncidentDetectionResponse-LambdaFunction, um Ihre SNS-Payloads zu transformieren.

  4. Legen Sie das SNS-Thema als Auslöser für Ihre Lambda-Funktion fest. $YourApmName-AWSIncidentDetectionResponse-LambdaFunction

    • Suchen Sie auf der Seite „Auslöser hinzufügen“ nach „SNS“.

    • Fügen Sie den ARN Ihres speziellen SNS-Themas hinzu, das in Schritt 1 erstellt wurde.

    • Wählen Sie „Hinzufügen“.

  5. Folgen Sie Ihrer APM-Dokumentation, um ein SNS-Ziel für Ihre APM-Payloads einzurichten, die von AWS Incident Detection and Response aufgenommen werden müssen.

AWS Incident Detection and Response installiert über die AWSServiceRoleForHealth_EventProcessor SLR eine verwaltete Regel (AWSHealthEventProcessorEventSource-DO-NOT-DELETE) auf dem benutzerdefinierten oder standardmäßigen Event-Bus. Die Regelquelle ist der benutzerdefinierte oder standardmäßige Event-Bus, das Regelziel ist AWS Incident Detection and Response, und die Regel entspricht dem Muster für die Aufnahme von APM-Ereignissen von Drittanbietern.