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.
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.- Ö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.
- Geben Sie unter Name Folgendes ein: Alarmthema
- 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.
- 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.
-
Erstellen Sie das Slack-Abonnement.
-
Erstellen Sie das SMS-Abonnement.
-
Erstellen Sie das E-Mail-Abonnement.
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.
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.
- Öffnen Sie die Seite Alarm erstellen.
- Öffnen Sie das Navigationsmenü , und wählen Sie Observability and Management aus. Wählen Sie unter Monitoring die Option Alarmdefinitionen aus.
-
Wählen Sie Alarm erstellen.
- Geben Sie unter Alarmname Folgendes ein: Auslastungsalarm
-
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 -
Richten Sie unter Triggerregel den Alarmschwellenwert ein.
Feld Beispielwert für dieses Szenario Operator größer als Value 90 Triggerverzögerung in Minuten 1 - 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. -
Wählen Sie Alarm speichern aus.
- Öffnen Sie die Seite Alarm erstellen.
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 }