Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come faccio a utilizzare EstimatedCharges per monitorare i costi stimati giornalieri e attivare un allarme CloudWatch in base alla mia soglia di utilizzo?
Desidero utilizzare EstimatedCharges per monitorare i costi stimati giornalieri e attivare un allarme Amazon CloudWatch in base alla mia soglia di utilizzo.
Breve descrizione
La metrica EstimatedCharges viene pubblicata a intervalli di circa 6 ore. I risultati vengono azzerati ogni mese. Usa l'espressione MetricMath RATE per calcolare il valore ** EstimatedCharges** per ogni giorno. Per calcolare MetricMath RATE, dividi la differenza tra il valore del punto dati più recente e il valore del punto dati precedente. Quindi, dividi per la differenza di tempo in secondi tra i due valori.
Soluzione
Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Creazione di un allarme CloudWatch utilizzando la Console di gestione AWS
Completa i seguenti passaggi:
- Crea un allarme CloudWatch basato su un'espressione matematica metrica.
- Nel riquadro di navigazione, in ** Metriche**, scegli ** Tutte le metriche**.
- Nella pagina Metriche, inserisci il codice seguente nella scheda Sorgente:
*Nota:il codice precedente crea l'espressione matematica metrica\ [IF (RATE (m1) >0, RATE (m1)\ 86400,0)] che utilizza EstimatedCharges come metrica di base con l'etichetta "m1".{ "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 }
- Per creare un allarme CloudWatch per l'espressione matematica metrica, scegli la scheda Metriche grafiche.
- Nella colonna Operazioni della metrica DailyEstimatedCharges, scegli l'icona Allarme.
- Nella procedura guidata per la creazione degli allarmi di CloudWatch, completa i seguenti passaggi:
conferma i dettagli di configurazione della metrica.
Aggiungi un valore di soglia appropriato per ricevere notifiche quando la soglia viene superata (ad esempio, 50.00 USD).
Configura le operazioni di allarme.
Aggiungi un nome e una descrizione dell'allarme.
Creazione di un allarme CloudWatch utilizzando l'interfaccia a riga di comando di AWS
Completa i seguenti passaggi:
-
Crea una configurazione di allarme come file JSON.
File JSON di esempio:$ 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 }] }
**Nota:**sostituisci REGION, ACCOUNT_ID e SNS_TOPIC_NAME con i tuoi valori.
-
Richiama l'API PutMetricAlarm.
Esempio di chiamata API:aws cloudwatch put-metric-alarm --cli-input-json file://alarm_config.json
(Facoltativo) Per trovare i dieci principali contributori del giorno precedente al valore Maximum DailyEstimatedCharges, esegui la seguente query:
$ 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
il formato DateTime supportato per StartTime e EndTime è 2020-01-01T00:00:00Z.
Importante: il comando precedente prevede addebiti in base al numero di metriche recuperate da ogni chiamata API GetMetricData. Per ulteriori informazioni, consulta Prezzi di Amazon CloudWatch.
