Szenario B: Alarmnachrichten an Slack und per SMS senden

Richten Sie automatische Benachrichtigungen ein, die bei Auslösung von Alarmen automatisch an einen Slack-Kanal oder an ein SMS-fähiges Mobilgerät gesendet werden.

In diesem Szenario richten Sie einen Slack-Endpunkt für einen Kanal und einen Alarm ein, der eine Nachricht sowohl an diesen Kanal als auch an eine SMS-Telefonnummer sendet. Wenn der Alarm ausgelöst wird, sendet der Notifications-Service die Alarmnachricht an das Zielthema. Diese wird dann an die Abonnements des Themas verteilt. In diesem Szenario umfassen die Abonnements des Themas den Slack-Kanal und die SMS-Telefonnummer sowie Ihre E-Mail-Adresse.

In dieser Abbildung wird der Notifications-Service im Kontext eines Szenarios angezeigt, das Alarmnachrichten an Slack sendet.

Erforderliche IAM-Policy

Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der Sicherheitszugriff in einer Policy von einem Mandantenadministrator erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen sie den Mandantenadministrator, welcher Zugriffstyp Ihnen zugewiesen wurde und In welchem Compartment Ihr Zugriff funktioniert.

Wenn Sie Mitglied der Administratorengruppe sind, besitzen Sie bereits die erforderliche Zugriffsberechtigung zur Ausführung dieses Szenarios. Andernfalls benötigen Sie Zugriff auf die Services Monitoring und Notifications.

Aufgabe 1: Slack-Endpunkt einrichten

Erstellen Sie einen eingehenden Webhook für Ihre Slack-App.

Beispiel für einen eingehenden Webhook zu einer Slack-Anwendung (entspricht dem Slack-Endpunkt für Ihr Abonnement): https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Nachdem Sie den Slack-Endpunkt eingerichtet haben, können Sie alle anderen Szenarioschritte in der Konsole ausführen. Alternativ können Sie die Oracle Cloud Infrastructure-CLI oder -API verwenden, um die einzelnen Vorgänge selbst auszuführen.

Aufgabe 2: Thema erstellen

Hilfe zur Fehlerbehebung finden Sie unter Fehlerbehebung für Notifications.

  • Hinweis

    Ein anderer Konsolenworkflow für dieses Szenario umfasst das Erstellen eines neuen Themas und des ersten Abonnements, wenn Sie den Alarm erstellen und dann zusätzliche Abonnements erstellen in diesem Thema.
    1. Öffnen Sie den Bereich Thema erstellen: Wählen Sie auf der Listenseite Themen die Option Thema erstellen aus. Wenn Sie Hilfe bei der Suche nach der Listenseite benötigen, finden Sie weitere Informationen unter Themen auflisten.
    2. Geben Sie unter Name Folgendes ein: Alarmthema
    3. Klicken Sie auf Erstellen.
  • Verwenden Sie den Befehl oci ons topic create und die erforderlichen Parameter, um ein Thema zu erstellen:

    oci ons topic create --name <name> --compartment-id <compartment_OCID>

    Beispiel:

    oci ons topic create --name "Alarm Topic" --compartment-id "<compartment_OCID>"

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der Befehlszeilenreferenz für Notifications.

  • Führen Sie den Vorgang CreateTopic aus, um ein Thema zu erstellen.

    Beispiel:

    POST /20181201/topics
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "name": "Alarm Topic",
      "compartmentId": "<compartment_OCID>"
    }

Aufgabe 3: Abonnements erstellen

Hilfe zur Fehlerbehebung finden Sie unter Fehlerbehebung für Notifications.

    1. Wählen Sie das Thema aus, das Sie zuvor erstellt haben (Beispielname: Alarmthema): Wählen Sie auf der Listenseite Themen das Thema aus, mit dem Sie arbeiten möchten. Wenn Sie Hilfe bei der Suche nach der Listenseite oder dem Thema benötigen, finden Sie weitere Informationen unter Themen auflisten.
    2. Erstellen Sie das Slack-Abonnement.
      1. Öffnen Sie den Bereich Abonnement erstellen: Wählen Sie auf der Detailseite für das Thema die Option Abonnement erstellen aus.
        Der Fensterbereich Abonnement erstellen wird geöffnet.
      2. Wählen Sie unter Protokoll die Option Slack aus.
      3. Füllen Sie die restlichen Felder aus.
        Feld Beschreibung
        URL

        Geben Sie den zuvor erstellten Slack-Endpunkt ein (oder kopieren und einfügen). Nehmen Sie das Webhook-Token auf.

        Beispielendpunkt:

        https://hooks.slack.com/services/<webhook-token>
      4. Klicken Sie auf Erstellen.
      5. Bestätigen Sie das neue Slack-Abonnement: Navigieren Sie zu der Bestätigungs-URL, die an Slack gesendet wurde.
    3. Erstellen Sie das SMS-Abonnement.
      1. Öffnen Sie den Bereich Abonnement erstellen: Wählen Sie auf der Detailseite für das Thema die Option Abonnement erstellen aus.
        Der Fensterbereich Abonnement erstellen wird geöffnet.
      2. Wählen Sie unter Protokoll die Option SMS aus.
      3. Füllen Sie die restlichen Felder aus.
        Feld Beschreibung
        Land Wählen Sie das Land für die Telefonnummer aus. Siehe Bevor Sie beginnen.
        Telefonnummer Geben Sie die Telefonnummer im E.164-Format ein.
      4. Klicken Sie auf Erstellen.
      5. Bestätigen Sie das neue SMS-Abonnement: Befolgen Sie die Anweisungen am Telefon erhalten.
    4. Erstellen Sie das E-Mail-Abonnement.
      1. Öffnen Sie den Bereich Abonnement erstellen: Wählen Sie auf der Detailseite für das Thema die Option Abonnement erstellen aus.
        Der Fensterbereich Abonnement erstellen wird geöffnet.
      2. Wählen Sie unter Protokoll die Option E-Mail aus.
      3. Füllen Sie die restlichen Felder aus.
        Feld Beschreibung
        E-Mail Geben Sie eine E-Mail-Adresse ein.
      4. Klicken Sie auf Erstellen.
      5. Bestätigen Sie das neue E-Mail-Abonnement: Öffnen Sie die E-Mail, und navigieren Sie zur Bestätigungs-URL.
  • Hinweis

    Nachdem Sie die Abonnements erstellt haben, bestätigen Sie sie.

    Verwenden Sie den Befehl oci ons subscription create und die erforderlichen Parameter, um jedes Abonnement zu erstellen:

    oci ons subscription create --protocol <subscription_type> --subscription-endpoint <endpoint> --compartment-id <compartment_OCID> --topic-id <topic_OCID>

    Beispiel für ein Slack-Abonnement:

    oci ons subscription create --protocol "SLACK" --subscription-endpoint "<slack-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Beispiel für ein SMS-Abonnement:

    oci ons subscription create --protocol "SMS" --subscription-endpoint "<sms-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Beispiel für ein E-Mail-Abonnement:

    oci ons subscription create --protocol "EMAIL" --subscription-endpoint "john.smith@example.com" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der Befehlszeilenreferenz für Notifications.

  • Hinweis

    Nachdem Sie die Abonnements erstellt haben, bestätigen Sie sie.

    Führen Sie den Vorgang CreateSubscription aus, um jedes Abonnement zu erstellen.

    Beispiel für ein Slack-Abonnement:

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "SLACK",
      "endpoint": "<slack-endpoint>"
    }

    Beispiel für ein SMS-Abonnement:

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "SMS",
      "endpoint": "<sms-endpoint>"
    }

    Beispiel für ein E-Mail-Abonnement:

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "EMAIL",
      "endpoint": "john.smith@example.com"
    }

Aufgabe 4: Alarm erstellen

Hilfe zur Fehlerbehebung finden Sie unter Fehlerbehebung für Notifications.

    1. Öffnen Sie die Seite Alarm erstellen.
      1. Öffnen Sie das Navigationsmenü , und wählen Sie Observability and Management aus. Wählen Sie unter Monitoring die Option Alarmdefinitionen aus.
      2. Wählen Sie Alarm erstellen.

    2. Geben Sie unter Alarmname Folgendes ein: Auslastungsalarm
    3. Wählen Sie unter Metrikbeschreibung die Metrik, das Intervall und die Statistik aus.

      Feld Beispielwert für dieses Szenario
      Compartment Wählen Sie das Compartment aus, das die Instanz enthält, die Sie auf hohe CPU-Auslastung überwachen möchten.
      Metrik-Namespace oci_computeagent
      Metrik-Name CpuUtilization
      Intervall 1m
      Statistik Zahl
    4. Richten Sie unter Triggerregel den Alarmschwellenwert ein.

      Feld Beispielwert für dieses Szenario
      Operator größer als
      Value 90
      Triggerverzögerung in Minuten 1
    5. Wählen Sie unter Benachrichtigungen, Ziele, das zuvor erstellte Thema aus.
      Feld Beispielwert für dieses Szenario
      Zielservice Notifications Service
      Compartment Wählen Sie das Compartment aus, das das zuvor erstellte Thema enthält.
      Thema Wählen Sie das zuvor erstellte Thema aus.
    6. Wählen Sie Alarm speichern aus.

  • Verwenden Sie den Befehl oci monitoring alarm create und die erforderlichen Parameter, um einen Alarm zu erstellen:

    oci monitoring alarm create --display-name <name> --compartment-id <compartment_OCID> --metric-compartment-id <compartment_OCID> --namespace <metric_namespace> --query-text <mql_expression> --severity <level> --destinations <file_or_text> --is-enabled <true_or_false>

    Beispiel:

    oci monitoring alarm create --display-name "Utilization Alarm" --compartment-id "<compartment_OCID>" --metric-compartment-id "<compartment_OCID>" --namespace "oci_computeagent" --query-text "CpuUtilization[1m].count() > 90" --severity "CRITICAL" --destinations "<topic_OCID>" --is-enabled true

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der Befehlszeilenreferenz für Monitoring.

  • Führen Sie den Vorgang CreateAlarm aus, um einen Alarm zu erstellen.

    Beispiel:

    POST /20180401/alarms
    Host: telemetry.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "displayName": "Utilization Alarm",
      "compartmentId": "<compartment_OCID>",
      "metricCompartmentId": "<compartment_OCID>",
      "namespace": "oci_computeagent",
      "query": "CpuUtilization[1m].count() > 90",
      "severity": "CRITICAL",
      "destinations":
      [
        "<topic_OCID>"
      ],
      "isEnabled": true
    }