

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de reversão automática e monitoramento
<a name="deployment-guardrails-configuration"></a>

Os CloudWatch alarmes da Amazon são um pré-requisito para usar períodos de espera nas grades de proteção de implantação. Você só pode usar a funcionalidade de reversão automática nas grades de proteção de implantação se configurar CloudWatch alarmes que possam monitorar um endpoint. Se algum de seus alarmes disparar durante o período de monitoramento especificado, a SageMaker IA iniciará uma reversão completa para o endpoint antigo para proteger seu aplicativo. Se você não tiver nenhum CloudWatch alarme configurado para monitorar seu endpoint, a funcionalidade de reversão automática não funcionará durante a implantação.

Para saber mais sobre a Amazon CloudWatch, consulte [O que é a Amazon CloudWatch?](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Guia do CloudWatch usuário da Amazon*.

**nota**  
Certifique-se de que sua função de execução do IAM tenha permissão para realizar a ação `cloudwatch:DescribeAlarms` nos alarmes de reversão automática que você especificar.

## Exemplos de alarme
<a name="deployment-guardrails-configuration-alarm-examples"></a>

Para ajudar você a começar, fornecemos os exemplos a seguir para demonstrar as capacidades dos CloudWatch alarmes. Além de usar ou modificar os exemplos a seguir, você pode criar seus próprios alarmes e configurar os alarmes para monitorar várias métricas nas frotas especificadas por um determinado período de tempo. Para ver mais métricas e dimensões de SageMaker IA que você pode adicionar aos seus alarmes, consulte[Métricas de SageMaker IA da Amazon na Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [Monitore erros de invocação em frotas antigas e novas](#deployment-guardrails-configuration-alarm-examples-errors-both)
+ [Monitore a latência do modelo na nova frota](#deployment-guardrails-configuration-alarm-examples-latency-new)

### Monitore erros de invocação em frotas antigas e novas
<a name="deployment-guardrails-configuration-alarm-examples-errors-both"></a>

O CloudWatch alarme a seguir monitora a taxa média de erro de um endpoint. Você pode usar esse alarme com qualquer tipo de deslocamento de tráfego de barreiras de proteção de implantação para fornecer monitoramento geral das frotas antigas e novas. Se o alarme disparar, a SageMaker IA iniciará uma reversão para a frota antiga.

Os erros de invocação provenientes da frota antiga e da nova frota contribuem para a taxa média de erro. Se a taxa média de erro exceder o limite especificado, o alarme dispara. Esse exemplo específico monitora os erros 4xx (erros do cliente) nas frotas antigas e novas na duração da implantação. Você também pode monitorar os erros 5xx (erros do servidor) usando a métrica `Invocation5XXErrors`.

**nota**  
Para esse tipo de alarme, se sua frota antiga disparar o alarme durante a implantação, a SageMaker IA encerrará sua implantação. Portanto, se sua frota de produto atual já causar erros, considere usar ou modificar um dos exemplos a seguir, que monitora somente a nova frota em busca de erros.

```
#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"
}
```

No exemplo anterior, observe os valores para os seguintes campos:
+ Para `AlarmName` e `AlarmDescription`, insira um nome e descrição de sua escolha para o alarme.
+ Para `MetricName`, use o valor `Invocation4XXErrors` para monitorar erros 4xx no endpoint
+ Para `Namespace`, use o valor `AWS/SageMaker`. Você também pode especificar sua própria métrica personalizada, se aplicável.
+ Para `Statistic`, use `Average`. Isso significa que o alarme calcula a taxa média de erro durante os períodos de avaliação ao calcular se a taxa de erro excedeu o limite.
+ Para a dimensão `EndpointName`, use o nome do endpoint que você está atualizando como valor.
+ Para a dimensão `VariantName`, use o valor `AllTraffic` para especificar todo o tráfego do endpoint.
+ Para `Period`, use `600`. Isso define os períodos de avaliação do alarme para 10 minutos.
+ Para `EvaluationPeriods`, use `2`. Esse valor faz com que o alarme considere os dois períodos de avaliação mais recentes ao determinar o status do alarme.

### Monitore a latência do modelo na nova frota
<a name="deployment-guardrails-configuration-alarm-examples-latency-new"></a>

O exemplo de CloudWatch alarme a seguir monitora a latência do modelo da nova frota durante sua implantação. Você pode usar esse alarme para monitorar somente a nova frota e excluir a frota antiga. O alarme dura por toda a implantação. Este exemplo fornece um end-to-end monitoramento abrangente da nova frota e inicia uma reversão para a frota antiga se a nova frota tiver algum problema de tempo de resposta.

CloudWatch publica as métricas com a dimensão `EndpointConfigName:{New-Ep-Config}` depois que a nova frota começa a receber tráfego, e essas métricas duram mesmo após a conclusão da implantação.

Você pode usar o seguinte exemplo de alarme para qualquer tipo de implantação:

```
#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"
}
```

No exemplo anterior, observe os valores para os seguintes campos:
+ Para `MetricName`, use o valor `ModelLatency` para monitorar o tempo de resposta do modelo.
+ Para `Namespace`, use o valor `AWS/SageMaker`. Você também pode especificar sua própria métrica personalizada, se aplicável.
+ Para a dimensão `EndpointName`, use o nome do endpoint que você está atualizando como valor.
+ Para a dimensão `VariantName`, use o valor `AllTraffic` para especificar o tráfego de todos os endpoints.
+ Para a dimensão `EndpointConfigName`, o valor deve se referir ao nome da configuração de endpoint do seu novo endpoint atualizado.

**nota**  
Se quiser monitorar sua frota antiga em vez da frota nova, você pode alterar a dimensão `EndpointConfigName` para especificar o nome da configuração da sua frota antiga.