

# Habilitar publicação no CloudWatch para o S3 Storage Lens
<a name="storage-lens-cloudwatch-enable-publish-option"></a>

É possível publicar métricas da Lente de Armazenamento do S3 no Amazon CloudWatch para criar uma visão unificada de sua integridade operacional nos [painéis do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). Também é possível usar os recursos do CloudWatch, como alarmes e ações acionadas, matemática métrica e detecção de anomalias, para monitorar e realizar ações sobre as métricas da Lente de Armazenamento do S3. Além disso, as operações de API do CloudWatch permitem que aplicações, inclusive provedores de terceiros, acessem as métricas da Lente de Armazenamento do S3. Para ter mais informações sobre os recursos do CloudWatch, consulte o [Guia do usuário do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html).

As métricas do S3 Storage Lens são publicadas no CloudWatch na conta proprietária da configuração do S3 Storage Lens. Após a habilitação da opção de publicação do CloudWatch em métricas avançadas, é possível acessar as métricas em nível de conta e em nível de bucket por ID de configuração, conta, bucket (somente para métricas em nível de bucket), região e classe de armazenamento no CloudWatch. As métricas de nível prefixo não estão disponíveis no CloudWatch.

Você pode habilitar o suporte do CloudWatch a configurações de painéis novos ou existentes usando o console do S3, as APIs REST do Amazon S3, a AWS CLI e os AWS SDKs. A opção de publicação no CloudWatch está disponível para painéis com upgrade para métricas e recomendações avançadas da Lente de Armazenamento do S3. Para saber mais sobre o preço das métricas e recomendações avançadas da Lente de Armazenamento do S3, consulte [Definição de preço do Amazon S3](https://aws.amazon.com/s3/pricing/). Não são aplicadas cobranças adicionais para publicação de métricas no CloudWatch, mas outras cobranças do CloudWatch, como painéis, alarmes e chamadas de API, são aplicáveis.

Para habilitar a opção de publicação de métricas do S3 Storage Lens no CloudWatch, consulte os tópicos a seguir.

**nota**  
As métricas do S3 Storage Lens são métricas diárias e são publicadas no CloudWatch uma vez por dia. Quando você consulta métricas do S3 Storage Lens no CloudWatch, o período para a consulta deve ser de 1 dia (86.400 segundos). Depois que as métricas diárias do S3 Storage Lens são exibidas no painel do S3 Storage Lens no console do Amazon S3, essas mesmas métricas podem demorar algumas horas para serem exibidas no CloudWatch. Quando você habilita a opção de publicação do CloudWatch para métricas do S3 Storage Lens pela primeira vez, as métricas podem levar até 24 horas para serem publicadas no CloudWatch.   
No momento, as métricas da Lente de Armazenamento do S3 não podem ser consumidas por fluxos do CloudWatch. 

## Usar o console do S3
<a name="storage-lens-cloudwatch-enable-publish-console"></a>

Ao atualizar um painel da Lente de Armazenamento do S3, não é possível alterar o nome do painel nem a região inicial. Também não é possível alterar o escopo do painel padrão, que está definido como o armazenamento de toda a sua conta.

**Como atualizar um painel da Lente de Armazenamento do S3 para habilitar a publicação no CloudWatch**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação esquerdo, escolha **S3 Storage Lens** (Lente de Armazenamento do S3) e **Dashboards** (Painéis).

1. Escolha o painel que você deseja editar e escolha **Edit** (Editar).

1. Em **Metrics selection** (Seleção de métricas), escolha **Advanced metrics and recommendations** (Métricas e recomendações avançadas).

   As métricas e recomendações avançadas estão disponíveis mediante cobranças adicionais. As métricas e recomendações avançadas incluem um período de 15 meses para consultas de dados, métricas de uso agregadas por prefixo, métricas de atividade agregadas por bucket, opção de publicação no CloudWatch e recomendações contextuais que ajudam a otimizar os custos de armazenamento e aplicar as práticas recomendadas de proteção de dados. Para obter mais informações, consulte [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/).

1. Em **Select Advanced metrics and recommendations features**, (Selecionar recursos de métricas e recomendações avançadas), escolha **CloudWatch publishing** (Publicação no CloudWatch).
**Importante**  
Se a configuração permitir a agregação de prefixos para métricas de uso, as métricas de nível de prefixo não serão publicadas no CloudWatch. Somente métricas em nível de organização, conta e bucket do S3 Storage Lens são publicadas no CloudWatch.

1. Escolha **Salvar alterações**.

**Para criar um novo painel do S3 Storage Lens que habilite o suporte ao CloudWatch**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação esquerdo, escolha **Storage Lens** (Lente de Armazenamento) e **Dashboards** (Painéis). 

1. Escolha **Create dashboard (Criar painel)**. 

1. Em **General** (Geral), defina as seguintes opções de configuração:

   1. Em **Dashboard name** (Nome do painel), insira o nome do painel.

      Os nomes do painel devem ter menos de 65 caracteres e não devem conter caracteres ou espaços especiais. Não é possível alterar o nome do painel depois que o painel é criado.

   1. Escolha a **Home Region** (Região inicial) do painel.

      As métricas de todas as regiões incluídas neste escopo do painel são armazenadas centralmente nesta região inicial designada. No CloudWatch, as métricas do S3 Storage Lens também estão disponíveis na região inicial. Não é possível alterar a região inicial depois que o painel é criado.

1. (Opcional) Para adicionar etiquetas, escolha **Add tag** (Adicionar etiqueta) e insira a **Key** (Chave) e o **Value** (Valor) da etiqueta.
**nota**  
Você pode adicionar até 50 tags à configuração do painel.

1. Defina o escopo de sua configuração:

   1. Se você estiver criando uma configuração no nível da organização, escolha as contas a serem incluídas na configuração: **Include all accounts in your configuration** (Incluir todas as contas na configuração) ou **Limit the scope to your signed-in account** (Limitar o escopo à sua conta conectada).
**nota**  
Ao criar uma configuração no nível da organização que inclui todas as contas, não será possível incluir ou excluir buckets, apenas regiões.

   1. Escolha as regiões e os buckets que deseja que a Lente de Armazenamento do S3 inclua na configuração do painel fazendo o seguinte:
      + Para incluir todas as regiões, selecione **Include Regions and buckets** (Incluir regiões e buckets).
      + Para incluir regiões específicas, desmarque a opção **Include all Regions** (Incluir todas as regiões). Em **Choose Regions to include** (Escolher regiões a serem incluídas), escolha as regiões que deseja que o S3 Storage Lens inclua no painel.
      + Para incluir bucket específicos, desmarque a opção **Include all buckets** (Incluir todos os buckets). Em **Choose buckets to include** (Escolher buckets a serem incluídos), escolha os buckets que deseja que o S3 Storage Lens inclua no painel. 
**nota**  
Você pode escolher até 50 buckets.

1. Em **Metrics selection** (Seleção de métricas), escolha **Advanced metrics and recommendations** (Métricas e recomendações avançadas).

   Para obter mais informações sobre o preço das métricas e recomendações avançadas, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/). 

1. Em **Advanced metrics and recommendations features** (Recursos de métricas e recomendações avançadas), selecione as opções que deseja habilitar:
   + **Advanced metrics (Métricas avançadas** 
   + **Publicação no CloudWatch**
**Importante**  
Se você habilitar a agregação de prefixos na configuração do S3 Storage Lens, as métricas de nível de prefixo não serão publicadas no CloudWatch. Somente métricas em nível de organização, conta e bucket do S3 Storage Lens são publicadas no CloudWatch.
   + **Agregação de prefixo**
**nota**  
Para obter mais informações sobre os recursos de métricas e recomendações avançadas, consulte [Seleção de métricas](storage_lens_basics_metrics_recommendations.md#storage_lens_basics_metrics_selection).

1. Se você ativou **Advanced metrics** (Métricas avançadas), selecione as **Advanced metrics categories** (Categorias de métricas avançadas) que deseja exibir no painel da Lente de Armazenamento do S3:
   + **Métricas de atividade**
   + **Detailed status code metrics (Métricas detalhadas do código de status**
   + **Advanced cost optimization metrics (Métricas avançadas de otimização de custos**
   + **Advanced data protection metrics (Métricas avançadas de proteção de dados**

   Para obter mais informações sobre categorias de métricas, consulte [Categorias de métricas](storage_lens_basics_metrics_recommendations.md#storage_lens_basics_metrics_types). Para obter uma lista completa de métricas, consulte [Glossário de métricas de lente de armazenamento do Amazon S3](storage_lens_metrics_glossary.md).

1. (Opcional) Configure a exportação de métricas.

   Para obter mais informações sobre como configurar a exportação de métricas, consulte [Usar o console do S3](storage_lens_creating_dashboard.md#storage_lens_console_creating).

1. Escolha **Create dashboard (Criar painel)**.

## Como usar o AWS CLI
<a name="storage-lens-cloudwatch-enable-publish-cli"></a>

O seguinte exemplo da AWS CLI habilita a opção de publicação no CloudWatch usando uma configuração de métricas e recomendações avançadas em nível de organização da Lente de Armazenamento do S3. Para usar esse exemplo, substitua os `user input placeholders` por suas próprias informações.

```
aws s3control put-storage-lens-configuration --account-id=555555555555 --config-id=your-configuration-id --region=us-east-1 --storage-lens-configuration=file://./config.json

config.json
{
  "Id": "SampleS3StorageLensConfiguration",
  "AwsOrg": {
    "Arn": "arn:aws:organizations::123456789012:organization/o-abcdefgh"
  },
  "AccountLevel": {
    "ActivityMetrics": {
      "IsEnabled":true
    },
    "AdvancedCostOptimizationMetrics": {
      "IsEnabled":true
    },
    "AdvancedDataProtectionMetrics": {
      "IsEnabled":true
    },
    "DetailedStatusCodesMetrics": {
      "IsEnabled":true
    },
    "BucketLevel": {
      "ActivityMetrics": {
        "IsEnabled":true
      },
      "AdvancedCostOptimizationMetrics": {
        "IsEnabled":true
      },
      "DetailedStatusCodesMetrics": {
        "IsEnabled":true
      },
      "PrefixLevel":{
        "StorageMetrics":{
          "IsEnabled":true,
          "SelectionCriteria":{
            "MaxDepth":5,
            "MinStorageBytesPercentage":1.25,
            "Delimiter":"/"
          }
        }
      }
    }
  },
  "Exclude": {
    "Regions": [
      "eu-west-1"
    ],
    "Buckets": [
      "arn:aws:s3:::amzn-s3-demo-source-bucket "
    ]
  },
  "IsEnabled": true,
  "DataExport": {
    "S3BucketDestination": {
      "OutputSchemaVersion": "V_1",
      "Format": "CSV",
      "AccountId": "111122223333",
      "Arn": "arn:aws:s3:::amzn-s3-demo-destination-bucket",
      "Prefix": "prefix-for-your-export-destination",
      "Encryption": {
        "SSES3": {}
      }
    },
    "CloudWatchMetrics": {
      "IsEnabled": true
    }
  }
}
```

## Usar o AWS SDK for Java
<a name="storage-lens-cloudwatch-enable-publish-sdk"></a>

```
package aws.example.s3control;

import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.s3control.AWSS3Control;
import com.amazonaws.services.s3control.AWSS3ControlClient;
import com.amazonaws.services.s3control.model.AccountLevel;
import com.amazonaws.services.s3control.model.ActivityMetrics;
import com.amazonaws.services.s3control.model.BucketLevel;
import com.amazonaws.services.s3control.model.CloudWatchMetrics;
import com.amazonaws.services.s3control.model.Format;
import com.amazonaws.services.s3control.model.Include;
import com.amazonaws.services.s3control.model.OutputSchemaVersion;
import com.amazonaws.services.s3control.model.PrefixLevel;
import com.amazonaws.services.s3control.model.PrefixLevelStorageMetrics;
import com.amazonaws.services.s3control.model.PutStorageLensConfigurationRequest;
import com.amazonaws.services.s3control.model.S3BucketDestination;
import com.amazonaws.services.s3control.model.SSES3;
import com.amazonaws.services.s3control.model.SelectionCriteria;
import com.amazonaws.services.s3control.model.StorageLensAwsOrg;
import com.amazonaws.services.s3control.model.StorageLensConfiguration;
import com.amazonaws.services.s3control.model.StorageLensDataExport;
import com.amazonaws.services.s3control.model.StorageLensDataExportEncryption;
import com.amazonaws.services.s3control.model.StorageLensTag;

import java.util.Arrays;
import java.util.List;

import static com.amazonaws.regions.Regions.US_WEST_2;

public class CreateAndUpdateDashboard {

    public static void main(String[] args) {
        String configurationId = "ConfigurationId";
        String sourceAccountId = "Source Account ID";
        String exportAccountId = "Destination Account ID";
        String exportBucketArn = "arn:aws:s3:::amzn-s3-demo-destination-bucket"; // The destination bucket for your metrics export must be in the same Region as your S3 Storage Lens configuration.
        String awsOrgARN = "arn:aws:organizations::123456789012:organization/o-abcdefgh";
        Format exportFormat = Format.CSV;

        try {
            SelectionCriteria selectionCriteria = new SelectionCriteria()
                    .withDelimiter("/")
                    .withMaxDepth(5)
                    .withMinStorageBytesPercentage(10.0);
            PrefixLevelStorageMetrics prefixStorageMetrics = new PrefixLevelStorageMetrics()
                    .withIsEnabled(true)
                    .withSelectionCriteria(selectionCriteria);
            BucketLevel bucketLevel = new BucketLevel()
                    .withActivityMetrics(new ActivityMetrics().withIsEnabled(true))
                    .withAdvancedCostOptimizationMetrics(new AdvancedCostOptimizationMetrics().withIsEnabled(true))
                    .withAdvancedDataProtectionMetrics(new AdvancedDataProtectionMetrics().withIsEnabled(true))
                    .withDetailedStatusCodesMetrics(new DetailedStatusCodesMetrics().withIsEnabled(true))
                    .withPrefixLevel(new PrefixLevel().withStorageMetrics(prefixStorageMetrics));
            AccountLevel accountLevel = new AccountLevel()
                    .withActivityMetrics(new ActivityMetrics().withIsEnabled(true))
                    .withAdvancedCostOptimizationMetrics(new AdvancedCostOptimizationMetrics().withIsEnabled(true))
                    .withAdvancedDataProtectionMetrics(new AdvancedDataProtectionMetrics().withIsEnabled(true))
                    .withDetailedStatusCodesMetrics(new DetailedStatusCodesMetrics().withIsEnabled(true))
                    .withBucketLevel(bucketLevel);

            Include include = new Include()
                    .withBuckets(Arrays.asList("arn:aws:s3:::amzn-s3-demo-bucket"))
                    .withRegions(Arrays.asList("us-west-2"));

            StorageLensDataExportEncryption exportEncryption = new StorageLensDataExportEncryption()
                    .withSSES3(new SSES3());
            S3BucketDestination s3BucketDestination = new S3BucketDestination()
                    .withAccountId(exportAccountId)
                    .withArn(exportBucketArn)
                    .withEncryption(exportEncryption)
                    .withFormat(exportFormat)
                    .withOutputSchemaVersion(OutputSchemaVersion.V_1)
                    .withPrefix("Prefix");
            CloudWatchMetrics cloudWatchMetrics = new CloudWatchMetrics()
                    .withIsEnabled(true);
            StorageLensDataExport dataExport = new StorageLensDataExport()
                    .withCloudWatchMetrics(cloudWatchMetrics)
                    .withS3BucketDestination(s3BucketDestination);

            StorageLensAwsOrg awsOrg = new StorageLensAwsOrg()
                    .withArn(awsOrgARN);

            StorageLensConfiguration configuration = new StorageLensConfiguration()
                    .withId(configurationId)
                    .withAccountLevel(accountLevel)
                    .withInclude(include)
                    .withDataExport(dataExport)
                    .withAwsOrg(awsOrg)
                    .withIsEnabled(true);

            List<StorageLensTag> tags = Arrays.asList(
                    new StorageLensTag().withKey("key-1").withValue("value-1"),
                    new StorageLensTag().withKey("key-2").withValue("value-2")
            );

            AWSS3Control s3ControlClient = AWSS3ControlClient.builder()
                    .withCredentials(new ProfileCredentialsProvider())
                    .withRegion(US_WEST_2)
                    .build();

            s3ControlClient.putStorageLensConfiguration(new PutStorageLensConfigurationRequest()
                    .withAccountId(sourceAccountId)
                    .withConfigId(configurationId)
                    .withStorageLensConfiguration(configuration)
                    .withTags(tags)
            );
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it and returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }
}
```

## Uso da API REST
<a name="storage-lens-cloudwatch-enable-publish-api"></a>

Para habilitar a opção de publicação no CloudWatch usando a API REST do Amazon S3, use [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutStorageLensConfiguration.html).

**Próximas etapas**  
Depois de habilitar a opção de publicação no CloudWatch, você poderá acessar as métricas do S3 Storage Lens no CloudWatch. Você também pode utilizar os recursos do CloudWatch para monitorar e analisar os dados do S3 Storage Lens no CloudWatch. Para saber mais, consulte os seguintes tópicos:
+ [Métricas e dimensões do S3 Storage Lens](storage-lens-cloudwatch-metrics-dimensions.md)
+ [Trabalhar com métricas do S3 Storage Lens no CloudWatch](storage-lens-cloudwatch-monitoring-cloudwatch.md)