Wie kann ich die täglichen EstimatedCharges überwachen und basierend auf meinem Nutzungsschwellenwert einen CloudWatch-Alarm auslösen?
Ich möchte die täglichen EstimatedCharges überwachen und basierend auf meinem Nutzungsschwellenwert einen Amazon CloudWatch-Alarm auslösen.
Kurzbeschreibung
Die EstimatedCharges-Metrik wird in Abständen von etwa sechs Stunden veröffentlicht. Die Ergebnisse werden jeden Monat zurückgesetzt. Verwenden Sie den MetricMath RATE-Ausdruck, um den EstimatedCharges-Wert für jeden Tag zu berechnen. Um die MetricMATH RATE zu berechnen, dividieren Sie die Differenz zwischen dem neuesten Datenpunktwert und dem vorherigen Datenpunktwert. Teilen Sie dann durch den Zeitunterschied in Sekunden zwischen den beiden Werten.
Lösung
Anmerkung: Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Beheben von AWS CLI-Fehlern. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.
Erstellen eines CloudWatch-Alarms mithilfe der AWS-Managementkonsole
Führen Sie die folgenden Schritte aus:
- Erstellen Sie einen CloudWatch-Alarm auf der Grundlage eines metrischen mathematischen Ausdrucks.
- Wählen Sie im Navigationsbereich unter Metriken die Option Alle Metriken aus.
- Geben Sie auf der Seite Metriken im Tab Quelle den folgenden Code ein:
Anmerkung: Der vorhergehende Code erstellt den metrischen mathematischen Ausdruck**[ IF(RATE(m1)>0,RATE(m1)*86400,0) ]**, der EstimatedCharges als Basismetrik mit der Bezeichnung „m1“ verwendet.{ "metrics": [ [ { "expression": "IF(RATE(m1)>0,RATE(m1)*86400,0)", "label": "Expression1", "id": "e1", "period": 86400, "stat": "Maximum" } ], [ "AWS/Billing", "EstimatedCharges", "Currency", "USD", { "id": "m1" } ] ], "view": "timeSeries", "stacked": false, "region": "us-east-1", "stat": "Maximum", "period": 86400 }
- Um einen CloudWatch-Alarm für den mathematischen Ausdruck der Metrik zu erstellen, wählen Sie die Registerkarte Graphische Metriken.
- Wählen Sie in der Spalte Aktionen für die Metrik DailyEstimatedCharges das Alarm-Symbol.
- Führen Sie im CloudWatch-Alarmerstellungsassistenten die folgenden Schritte aus:
Bestätigen Sie die Details der metrischen Konfiguration.
Fügen Sie einen entsprechenden Schwellenwert hinzu, um Benachrichtigungen zu erhalten, wenn der Schwellenwert überschritten wird (z. B. 50.00 USD).
Konfigurieren Sie Ihre Alarmaktionen.
Fügen Sie einen Alarmnamen und eine Beschreibung hinzu.
Verwenden des AWS CLI zur Erstellung eines CloudWatch-Alarms
Führen Sie die folgenden Schritte aus:
-
Erstellen Sie eine Alarmkonfiguration als JSON-Datei.
Beispiel für eine JSON-Datei:$ cat alarm_config.json { "AlarmName": "DailyEstimatedCharges", "AlarmDescription": "This alarm would be triggered if the daily estimated charges exceeds 50$", "ActionsEnabled": true, "AlarmActions": [ "arn:aws:sns:<REGION>:<ACCOUNT_ID>:<SNS_TOPIC_NAME>" ], "EvaluationPeriods": 1, "DatapointsToAlarm": 1, "Threshold": 50, "ComparisonOperator": "GreaterThanOrEqualToThreshold", "TreatMissingData": "breaching", "Metrics": [{ "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/Billing", "MetricName": "EstimatedCharges", "Dimensions": [{ "Name": "Currency", "Value": "USD" }] }, "Period": 86400, "Stat": "Maximum" }, "ReturnData": false }, { "Id": "e1", "Expression": "IF(RATE(m1)>0,RATE(m1)*86400,0)", "Label": "DailyEstimatedCharges", "ReturnData": true }] }
Anmerkung: Ersetzen Sie REGION, ACCOUNT_ID und SNS_TOPIC_NAME durch Ihre Werte.
-
Rufen Sie die PutMetricAlarm-API auf.
Beispiel für einen API-Aufruf:aws cloudwatch put-metric-alarm --cli-input-json file://alarm_config.json
(Optional) Führen Sie die folgende Abfrage aus, um zu ermitteln, welche zehn Personen am Vortag am häufigsten zum Wert Maximum DailyEstimatedCharges beigetragen haben:
$ cat top_contributors_query.json { "MetricDataQueries": [{ "Id": "e1", "Expression": "SORT(RATE(SEARCH('{AWS/Billing,Currency,ServiceName} AWS/Billing ServiceName', 'Maximum', 86400))*86400, MAX, DESC, 10)", "Label": "DailyEstimatedCharges", "Period": 86400 }], "ScanBy": "TimestampAscending" } $ aws cloudwatch get-metric-data --cli-input-json file://top_contributors_query.json --start-time `date -v -2d '+%Y-%m-%dT%H:%M:%SZ'` --end-time `date '+%Y-%m-%dT%H:%M:%SZ'` --region us-east-1
Das unterstützte DateTime-Format für StartTime und EndTime ist 2020-01-01T00:00:00Z.
Wichtig: Für den vorherigen Befehl fallen Gebühren an, die auf der Anzahl der von jedem GetMetricData-API-Aufruf abgerufenen Metriken basieren. Weitere Informationen finden Sie unter Amazon CloudWatch-Preisgestaltung.

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 10 Monaten
- AWS OFFICIALAktualisiert vor 3 Monaten