Szenario: Nachrichten nach Metrikstream aufteilen
Hier wird ein Alarm eingerichtet, um eine Nachricht für jeden Metrikstream zu senden. In diesem Beispiel möchten Sie benachrichtigt werden, wenn ein Server einen Schwellenwert überschreitet. Bei diesem Setup erhalten Sie serverspezifische Nachrichten.
Wenn Nachrichten nach Metrikstream aufgeteilt werden, sollten Sie die Anzahl der vom Alarm überwachten Ressourcen berücksichtigen. Wenn mehrere Hundert Ressourcen gleichzeitig den Alarm auslösen, werden mehrere Nachrichten gleichzeitig gesendet. Viele Nachrichten können das Telefon (SMS), den Posteingang (E-Mail) oder andere Messagingendpunkte überlasten. Einige Nachrichten werden aufgrund von Servicelimits möglicherweise verzögert gesendet. Weitere Informationen zu Limits und Best Practices finden Sie unter Limits für Alarmnachrichten.
Erforderliche IAM Policy
In diesem Thema werden die Zugriffsanforderungen für das Szenario beschrieben.
Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der von einem Mandantenadministrator Sicherheitszugriff in einer Policy 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 Nachricht erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Mandantenadministrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Ihr Zugriff funktioniert.
Wenn Sie Mitglied der Administratorengruppe sind, besitzen Sie bereits die erforderliche Berechtigung, um dieses Szenario durchzuführen.
Administratoren: Informationen zu allgemeinen Policys, mit denen Benutzer Alarme verwalten und Themen erstellen können, finden Sie unter Alarmzugriff für Gruppen.
Ziel
Ziel dieses hypothetischen Szenarios ist es, separate Alarmnachrichten pro Server zu erhalten. Beispiel: Sie überwachen 50 Server, die eine benutzerdefinierte Metrik für die CPU-Auslastung ausgeben, und möchten wissen, ob eine CPU-Auslastung von über 80 Prozent vorliegt. Sie möchten eine Nachricht erhalten, wenn die Metriken eines einzelnen Servers den Alarm auslösen.
Szenario einrichten
Beim Setup wird ein Schwellenwertalarm erstellt und für metrikstreamspezifische Nachrichten aktiviert. In diesem hypothetischen Szenario wählen Sie die benutzerdefinierte Metrik MyCustomCPUMetric
und die Ressourcengruppe MyServerResourceGroup
aus.
Sie können diese Aufgaben in der Oracle Cloud Infrastructure-Konsole, in der CLI oder in der API ausführen.
Monitoring beginnt mit der Auswertung von Metriken für Server im ausgewählten Compartment und sendet eine Alarmnachricht (pro Abonnement) für jeden Metrikstream. Erstellen Sie den Alarm mit dem Befehl oci monitoring alarm create. Um den Alarm für nach Metrikstream aufgeteilte Nachrichten zu konfigurieren, setzen Sie
--is-notifications-per-metric-dimension-enabled
auftrue
.Beispielbefehloci monitoring alarm create --compartment-id "<compartment_OCID>" --destinations ["<topic_OCID>"] --display-name "Server-Specific Messages" --is-enabled true --is-notifications-per-metric-dimension-enabled true --message-format "ONS_OPTIMIZED" --metric-compartment-id "<metric_compartment_OCID>" --namespace "<custom_metric_namespace>" --query-text "MyCustomCPUMetric[1m].count() > 80" --repeat-notification-duration "PT1H" --resource-group "MyServerResourceGroup" --severity "CRITICAL"
Eine vollständige Liste der Kennzeichen und Variablenoptionen für CLI-Befehle finden Sie in der Befehlszeilenreferenz.
Verwenden Sie den Vorgang CreateAlarm, um den Alarm zu erstellen. Um den Alarm für nach Metrikstream aufgeteilte Nachrichten zu konfigurieren, setzen Sie
isNotificationsPerMetricDimensionEnabled
auftrue
.BeispielanforderungPOST /20180401/alarms Host: telemetry.us-phoenix-1.oraclecloud.com <authorization and other headers> { "body": "Server exceeded CPU utilization threshold", "compartmentId": "<compartment_OCID>", "destinations": ["<topic_OCID>"], "displayName": "Server-Specific Messages", "isEnabled": true "isNotificationsPerMetricDimensionEnabled": true "messageFormat": "ONS_OPTIMIZED", "metricCompartmentId": "<metric_compartment_OCID>", "namespace": "<custom_metric_namespace>", "query": "MyCustomCPUMetric[1m].count() > 80", "repeatNotificationDuration": "PT1H", "resourceGroup": "MyServerResourceGroup", "severity": "CRITICAL" }