Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione e monitoraggio del rollback automatico
Gli CloudWatch allarmi Amazon sono un prerequisito per utilizzare i periodi di cottura nei guardrail di implementazione. È possibile utilizzare la funzionalità di rollback automatico nei guardrail di distribuzione solo se si configurano CloudWatch allarmi in grado di monitorare un endpoint. Se uno qualsiasi degli allarmi scatta durante il periodo di monitoraggio specificato, SageMaker avvia un rollback completo sul vecchio endpoint per proteggere l'applicazione. Se non hai impostato alcun CloudWatch allarme per monitorare l'endpoint, la funzionalità di rollback automatico non funziona durante la distribuzione.
Per ulteriori informazioni su Amazon CloudWatch, consulta What is Amazon CloudWatch? nella Amazon CloudWatch User Guide.
Nota
Assicurati che il tuo ruolo di esecuzione IAM sia autorizzato a eseguire l'azione cloudwatch:DescribeAlarms
sugli allarmi di rollback automatico che hai specificato.
Esempi di allarme
Per aiutarti a iniziare, forniamo i seguenti esempi per dimostrare le funzionalità degli CloudWatch allarmi. Oltre a utilizzare o modificare i seguenti esempi, puoi creare allarmi personalizzati e configurarli per monitorare vari parametri sui parchi istanze specificati per un determinato periodo di tempo. Per visualizzare altre SageMaker metriche e dimensioni che puoi aggiungere ai tuoi allarmi, consulta. Metriche per il monitoraggio di Amazon SageMaker con Amazon CloudWatch
Argomenti
Monitora gli errori di invocazione sui parchi istanze vecchi e nuovi
Il seguente CloudWatch allarme monitora il tasso di errore medio di un endpoint. È possibile utilizzare questo allarme con qualsiasi tipo di sistema di distribuzione, guardrail, spostamento del traffico, per fornire un monitoraggio generale sia sul vecchio che sul nuovo parco istanze. Se scatta l'allarme, SageMaker avvia un ripristino della vecchia flotta.
Gli errori di invocazione provenienti sia dal vecchio che dal nuovo parco istanze contribuiscono al tasso di errore medio. Se il tasso di errore medio supera la soglia specificata, scatta l'allarme. Questo esempio particolare monitora gli errori 4xx (errori del client) sia sul vecchi che sul nuovo parco istanze per tutta la durata di una distribuzione. Puoi anche monitorare gli errori 5xx (errori del server) utilizzando il parametro Invocation5XXErrors
.
Nota
Per questo tipo di allarme, se la vecchia flotta attiva l'allarme durante l'implementazione, SageMaker interrompe l'installazione. Pertanto, se l’attuale parco istanze di produzione causa già errori, prendi in considerazione l'utilizzo o la modifica di uno dei seguenti esempi, che monitora solo il nuovo parco istanze per rilevare eventuali errori.
#Applied deployment type: all types { "AlarmName": "EndToEndDeploymentHighErrorRateAlarm", "AlarmDescription": "Monitors the error rate of 4xx errors", "MetricName": "Invocation4XXErrors", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value":
<your-endpoint-name>
}, { "Name": "VariantName", "Value": "AllTraffic" } ], "Period": 600, "EvaluationPeriods": 2, "Threshold": 1, "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }
Nell'esempio precedente, nota i valori per i campi seguenti:
Per
AlarmName
eAlarmDescription
, inserisci un nome e una descrizione scelti per l’allarme.Per
MetricName
, utilizza il valoreInvocation4XXErrors
per monitorare 4xx errori sull'endpointPer
Namespace
, utilizza il valoreAWS/SageMaker
. Puoi anche specificare un parametro personalizzato, se applicabile.Per
Statistic
, utilizzaAverage
. Ciò significa che l'allarme prende in considerazione il tasso di errore medio nei periodi di valutazione per calcolare se il tasso di errore ha superato la soglia.Per la dimensione
EndpointName
, usa il nome dell'endpoint che stai aggiornando come valore.Per la dimensione
VariantName
, usa il valoreAllTraffic
per specificare tutto il traffico dell'endpoint.Per
Period
, utilizza600
. Ciò imposta i periodi di valutazione dell'allarme su una durata di 10 minuti.Per
EvaluationPeriods
, utilizza2
. Questo valore indica all'allarme di considerare i due periodi di valutazione più recenti nel determinare lo stato dell'allarme.
Monitora la latenza del modello sul nuovo parco istanze
Il seguente esempio di CloudWatch allarme monitora la latenza del modello del nuovo parco veicoli durante l'implementazione. Puoi utilizzare questo allarme per monitorare solo il nuovo parco istanze ed escludere quello vecchio. L'allarme dura per l'intera implementazione. Questo esempio offre un end-to-end monitoraggio completo della nuova flotta e avvia un ripristino della vecchia flotta se la nuova flotta presenta problemi nei tempi di risposta.
CloudWatch pubblica le metriche con la dimensione EndpointConfigName:{New-Ep-Config}
dopo che la nuova flotta inizia a ricevere traffico e queste metriche rimangono valide anche dopo il completamento dell'implementazione.
Puoi utilizzare il seguente esempio di allarme con qualsiasi tipo di implementazione.
#Applied deployment type: all types { "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm", "AlarmDescription": "Monitors the model latency on new fleet", "MetricName": "ModelLatency", "Namespace": "AWS/SageMaker", "Statistic": "Average", "Dimensions": [ { "Name": "EndpointName", "Value":
<your-endpoint-name>
}, { "Name": "VariantName", "Value": "AllTraffic" }, { "Name": "EndpointConfigName", "Value":<your-config-name>
], "Period": 300, "EvaluationPeriods": 2, "Threshold": 100000, # 100ms "ComparisonOperator": "GreaterThanThreshold", "TreatMissingData": "notBreaching" }
Nell'esempio precedente, nota i valori per i campi seguenti:
Per
MetricName
, utilizza il valoreModelLatency
per monitorare il tempo di risposta del modello.Per
Namespace
, utilizza il valoreAWS/SageMaker
. Puoi anche specificare un parametro personalizzato, se applicabile.Per la dimensione
EndpointName
, usa il nome dell'endpoint che stai aggiornando come valore.Per la dimensione
VariantName
, usa il valoreAllTraffic
per specificare tutto il traffico dell'endpoint.Per la dimensione
EndpointConfigName
, il valore deve fare riferimento al nome di configurazione dell'endpoint per l'endpoint nuovo o aggiornato.
Nota
Se desideri monitorare il vecchio parco istanze anziché quello nuovo, puoi modificare la dimensione EndpointConfigName
per specificare il nome della configurazione del vecchio parco istanze.