

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á.

# CloudWatch Registro na Amazon para AWS Transfer Family servidores
<a name="structured-logging"></a>

 CloudWatch A Amazon é um poderoso serviço de monitoramento e observabilidade que fornece visibilidade abrangente de seus AWS recursos, inclusive AWS Transfer Family.
+ Monitoramento em tempo real: CloudWatch monitora os recursos e aplicativos da Transfer Family em tempo real, permitindo que você acompanhe e analise seu desempenho.
+ Coleção de métricas: CloudWatch coleta e rastreia várias métricas para seus recursos e aplicativos, que são variáveis que você pode medir e usar para análise.
+ CloudWatch página inicial: a página CloudWatch inicial exibe automaticamente métricas sobre o Transfer Family e outros AWS serviços que você usa, fornecendo uma visão centralizada dos seus dados de monitoramento.
+ Painéis personalizados: você pode criar painéis personalizados CloudWatch para exibir métricas específicas para seus aplicativos personalizados e os recursos que você escolhe monitorar.
+ Alarmes e notificações: CloudWatch permite criar alarmes que monitoram suas métricas e acionam notificações ou ações automatizadas quando determinados limites são violados. Isso pode ser útil para monitorar a atividade de transferência de arquivos nos servidores do Transfer Family e dimensionar os recursos adequadamente.
+ Otimização de custos: você pode usar os dados coletados por CloudWatch para identificar recursos subutilizados e tomar medidas, como interromper ou excluir instâncias, para otimizar seus custos.

No geral, os recursos abrangentes de monitoramento o CloudWatch tornam uma ferramenta valiosa para gerenciar e otimizar sua infraestrutura da Transfer Family e os aplicativos executados nela.

Os detalhes de CloudWatch registro dos aplicativos web Transfer Family estão disponíveis em[CloudTrail registro para aplicativos web Transfer Family](webapp-cloudtrail.md).

## Tipos de CloudWatch registro para Transfer Family
<a name="log-tf-types"></a>

O Transfer Family fornece duas maneiras de registrar eventos em CloudWatch:
+ Registro de log estruturado em JSON
+ Registro por meio de uma função de registro

Para servidores Transfer Family, você pode escolher o mecanismo de registro de sua preferência. Para conectores e fluxos de trabalho, somente funções de registro são suportadas.

**Registro estruturado em JSON**

Para registrar eventos do servidor, recomendamos usar o registro estruturado JSON. Isso fornece um formato de registro mais abrangente que permite a consulta de CloudWatch registros. Para esse tipo de registro, a política do IAM para o usuário que cria o servidor (ou edita a configuração de registro do servidor) deve conter as seguintes permissões:
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

Veja abaixo um exemplo de política .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"                
            ],
            "Resource": "*"
        }
    ]
}
```

Para obter detalhes sobre como configurar o registro estruturado JSON, consulte[Criação, atualização e visualização de registros para servidores](log-server-manage.md).

**Função de registro**

Para registrar eventos para um fluxo de trabalho gerenciado conectado a um servidor, bem como para conectores, você precisa especificar uma função de registro. Para definir o acesso, crie uma política do IAM com base em recursos e um perfil do IAM que forneça as informações daquele acesso. Veja a seguir um exemplo de política para uma Conta da AWS que pode registrar eventos do servidor.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*"
        }
    ]
}
```

Para obter detalhes sobre como configurar uma função de registro para registrar eventos do fluxo de trabalho, consulte[Gerenciando o registro em registros para fluxos de trabalho](cloudwatch-workflows.md).

# Criação, atualização e visualização de registros para servidores
<a name="log-server-manage"></a>

Para todos os AWS Transfer Family servidores, fornecemos registros estruturados. Recomendamos que você use o registro estruturado para todos os servidores Transfer Family novos e existentes. Os benefícios de usar o registro estruturado incluem o seguinte:
+ Receba logs em um formato JSON estruturado.
+ Consulte seus registros com o Amazon CloudWatch Logs Insights, que descobre automaticamente campos formatados em JSON.
+ O compartilhamento de grupos de registros entre AWS Transfer Family recursos permite combinar fluxos de registros de vários servidores em um único grupo de registros, facilitando o gerenciamento de suas configurações de monitoramento e de retenção de registros.
+ Crie métricas e visualizações agregadas que podem ser adicionadas aos CloudWatch painéis.
+ Monitore dados de uso e desempenho usando grupos de logs para criar métricas, visualizações e painéis de logs consolidados.

Para habilitar o registro em fluxos de trabalho conectados aos servidores, você deve usar uma função de registro.

**nota**  
Quando você adiciona uma função de registro, o grupo de registro está sempre `/aws/transfer/your-serverID` e não pode ser alterado. Isso significa que, a menos que você esteja enviando seus registros estruturados do servidor para o mesmo grupo, você estará se conectando a dois grupos de registro separados.  
Se você sabe que vai associar um fluxo de trabalho ao seu servidor e, portanto, precisa adicionar uma função de registro, você pode configurar o registro estruturado para registrar no grupo de registros padrão de`/aws/transfer/your-serverID`.  
Para modificar seu grupo de registro, consulte [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations)a *Referência AWS Transfer Family da API*.

Se você criar um novo servidor usando o console do Transfer Family, o registro em log é habilitado por padrão. Depois de criar o servidor, você pode usar a operação da `UpdateServer` API para alterar sua configuração de registro. Para obter detalhes, consulte [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations).

Atualmente, para fluxos de trabalho, se quiser o registro em log habilitado, você deve especificar uma função de registro em log:
+ Se você associar um fluxo de trabalho a um servidor, usando a operação `CreateServer` ou a `UpdateServer` API, o sistema não criará automaticamente uma função de registro. Se quiser registrar em log seus eventos de fluxo de trabalho, você precisa anexar explicitamente uma função de registro em log ao servidor.
+ Se você criar um servidor usando o console do Transfer Family e anexar um fluxo de trabalho, os registros em logs serão enviados para um grupo de registros de logs que contém a ID do servidor no nome. O formato é `/aws/transfer/server-id`, por exemplo, `/aws/transfer/s-1111aaaa2222bbbb3`. Os registros em logs do servidor podem ser enviados para esse mesmo grupo de logs ou para um diferente.

**Considerações sobre registro em logs para criar e editar servidores no console**
+ Os novos servidores criados por meio do console oferecem suporte apenas ao registro em log JSON estruturado, a menos que um fluxo de trabalho esteja anexado ao servidor.
+ *Nenhum log* não é uma opção para novos servidores que você cria no console.
+ Os servidores existentes podem habilitar registro em log JSON estruturado por meio do console em qualquer período.
+ Habilitar registro em log JSON estruturado por meio do console desabilita o método de registro em logs existente para não cobrar duas vezes dos clientes. A exceção será se um fluxo de trabalho for anexado ao servidor.
+ Se você habilitar registro em log JSON estruturado, não poderá desabilitá–lo posteriormente por meio do console.
+ Se você habilitar registro em log JSON estruturado, poderá alterar o destino do grupo de logs por meio do console em qualquer período.
+ Se você habilitar registro em log JSON estruturado, não poderá editar a função de registro em log por meio do console se tiver habilitado os dois tipos de log por meio da API. A exceção será se seu servidor tiver um fluxo de trabalho anexado. No entanto, a função de log continua aparecendo em **Detalhes adicionais**.

**Considerações sobre registros em logs para criar e editar servidores usando API ou SDK**
+ Se você criar um novo servidor por meio da API, poderá configurar um ou os dois tipos de log ou optar por nenhum log.
+ Para servidores existentes, habilite e desabilite o registro em log JSON estruturado em qualquer período.
+ Você pode alterar o grupo de logs por meio da API em qualquer período.
+ Você pode alterar a função de registro em log por meio da API em qualquer período.

**Para habilitar o registro em log estruturado, você deve estar conectado a uma conta com as seguintes permissões**
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

Um exemplo de política está disponível na seção[Configurar função de CloudWatch registro](configure-cw-logging-role.md).

**Topics**
+ [Criação de registros para servidores](#log-server-create)
+ [Atualizando registro em logs de um servidor](#log-server-update)
+ [Como visualizar a configuração do servidor](#log-server-config)

## Criação de registros para servidores
<a name="log-server-create"></a>

Ao criar um novo servidor, na página **Configurar detalhes adicionais**, você pode especificar um grupo de logs existente ou criar um novo.

![\[Painel de registro em log para configurar detalhes adicionais no assistente de criação de servidor. Escolha um grupo de logs existente está selecionado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-choose-existing-group.png)


Se você escolher **Criar grupo de registros**, o CloudWatch console ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) abrirá a página **Criar grupo de registros**. Para obter detalhes, consulte [Criar um grupo de CloudWatch registros em Registros](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

## Atualizando registro em logs de um servidor
<a name="log-server-update"></a>

Os detalhes dos registros em logs dependem do cenário da sua atualização.

**nota**  
Quando você opta pelo registro em log JSON estruturado, pode haver um atraso, em casos raros, em que o Transfer Family para o registro no formato antigo, mas leva algum tempo para iniciar o registro em log no novo formato JSON. Isso pode resultar em eventos que não são registrados. Não haverá qualquer interrupções no serviço, mas você deve ter cuidado ao transferir arquivos durante a primeira hora após a alteração do método de registro em logs, pois os logs podem ser descartados.

Se você estiver editando um servidor existente, suas opções dependerão do estado do servidor.
+ O servidor já tem uma função de registro em log habilitada, mas não tem o registro em log JSON estruturado habilitado.  
![\[Painel de registro em log, mostrando uma função de registro em log existente.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-choose-role.png)
+ O servidor não tem nenhum registro em log habilitado.  
![\[Painel de registro em log se o servidor não tem nenhum registro em log habilitado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-edit-none.png)
+ O servidor já tem um registro em log JSON estruturado habilitada, mas não tem uma função de registro em log especificada.  
![\[Painel de registro em log se o servidor ainda não tem um registro em log habilitado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-edit-add-json-02.png)
+ O servidor já tem um Registro em log JSON estruturado habilitado, e tem uma função de registro em log especificada.  
![\[Painel de registro em log se o servidor tem um registro em log estruturado habilitado e também tem uma função de registro em log especificada.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-edit-both.png)

## Como visualizar a configuração do servidor
<a name="log-server-config"></a>

Os detalhes da página de configuração do servidor dependem do seu cenário:

Dependendo do seu cenário, a página de configuração do servidor pode ter a aparência de um dos exemplos a seguir:
+ Nenhum log está habilitado.  
![\[Configuração de registro em log com nenhum log configurado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-config-none.png)
+ O registro em log JSON estruturado está habilitado.  
![\[Configuração de registro em log com registro em log estruturado configurado.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-config-structured.png)
+ A função de registro em log está habilitada, mas o registro em log JSON estruturado não está habilitado.  
![\[Configuração de registro em log com uma função de registro em log configurada.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-config-legacy.png)
+ Ambos os tipos de registro em log (função de registro em log e registro em log JSON estruturado) estão habilitados.  
![\[Configuração de registro em log com os dois tipos de registro em log (função de registro em log e registro em log JSON estruturado) configurados.\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/logging-server-config-both.png)

# Gerenciando o registro em registros para fluxos de trabalho
<a name="cloudwatch-workflows"></a>

CloudWatch fornece auditoria e registro consolidados para o progresso e os resultados do fluxo de trabalho. Além disso, AWS Transfer Family fornece várias métricas para fluxos de trabalho. Você pode visualizar métricas de quantas execuções de fluxos de trabalho foram iniciadas, concluídas com êxito e falharam no minuto anterior. Todas as CloudWatch métricas do Transfer Family estão descritas em[Usando CloudWatch métricas para servidores Transfer Family](metrics.md).

**Veja os CloudWatch registros da Amazon para fluxos de trabalho**

1. Abra o CloudWatch console da Amazon em [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. No painel de navegação à esquerda, escolha **Logs** e, em seguida, escolha **Grupos de logs**.

1. Na página **Grupos de registros**, na barra de navegação, escolha a região correta para seu AWS Transfer Family servidor.

1. Escolha o grupo de logs que corresponde ao seu servidor.

   Por exemplo, se o ID do seu servidor for `s-1234567890abcdef0`, seu grupo de logs será `/aws/transfer/s-1234567890abcdef0`.

1. Na página de detalhes do grupo de logs do seu servidor, os fluxos de log mais recentes são exibidos. Há dois fluxos de log para o usuário que você está explorando: 
   + Um para cada sessão do File Transfer Protocol (SFTP) da Secure Shell (SSH).
   + Um para o fluxo de trabalho que está sendo executado no seu servidor. O formato do fluxo de logs do fluxo de trabalho é `username.workflowID.uniqueStreamSuffix`.

   Por exemplo, se o seu usuário é `mary-major`, você terá os seguintes fluxos de logs:

   ```
   mary-major-east.1234567890abcdef0
   mary.w-abcdef01234567890.021345abcdef6789
   ```
**nota**  
 Os identificadores alfanuméricos de 16 dígitos listados neste exemplo são fictícios. Os valores que você vê na Amazon CloudWatch são diferentes. 

A página **Eventos de log** para o `mary-major-usa-east.1234567890abcdef0` exibe os detalhes de cada sessão do usuário, e o fluxo de logs para o `mary.w-abcdef01234567890.021345abcdef6789` contém os detalhes do fluxo de trabalho. 

 Veja a seguir um exemplo de fluxo de logs para o `mary.w-abcdef01234567890.021345abcdef6789`, com base em um fluxo de trabalho (`w-abcdef01234567890`) que contém uma etapa de cópia. 

```
{
    "type": "ExecutionStarted",
    "details": {
        "input": {
            "initialFileLocation": {
                "bucket": "amzn-s3-demo-bucket",
                "key": "mary/workflowSteps2.json",
                "versionId": "version-id",
                "etag": "etag-id"
            }
        }
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails": {
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"StepStarted",
    "details": {
        "input": {
            "fileLocation": {
                "backingStore":"S3",
                "bucket":"amzn-s3-demo-bucket",
                "key":"mary/workflowSteps2.json",
                "versionId":"version-id",
                "etag":"etag-id"
            }
        },
        "stepType":"COPY",
        "stepName":"copyToShared"
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails": {
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"StepCompleted",
    "details":{
        "output":{},
        "stepType":"COPY",
        "stepName":"copyToShared"
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails":{
        "serverId":"server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"ExecutionCompleted",
    "details": {},
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails":{
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
}
```

# Configurar função de CloudWatch registro
<a name="configure-cw-logging-role"></a>

Para definir o acesso, crie uma política do IAM com base em recursos e um perfil do IAM que forneça as informações daquele acesso.

Para habilitar o CloudWatch registro na Amazon, você começa criando uma política do IAM que permite o CloudWatch registro. Crie um perfil do IAM e anexe a política a ele. É possível fazer isso quando estiver [criando um servidor](getting-started.md#getting-started-server) ou [editando um servidor existente](edit-server-config.md). Para obter mais informações sobre CloudWatch, consulte [O que é a Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) e [O que são CloudWatch registros da Amazon?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) no *Guia do CloudWatch usuário da Amazon*.

Use o exemplo de políticas do IAM a seguir para permitir o CloudWatch registro.

------
#### [ Use a logging role ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*"
        }
    ]
}
```

------
#### [ Use structured logging ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"                
            ],
            "Resource": "*"
        }
    ]
}
```

No exemplo anterior de política, para o**Resource**, substitua o *region-id* e *Conta da AWS* por seus valores. Por exemplo, **"Resource": "arn:aws::logs:us-east-1:111122223333:log-group:/aws/transfer/\$1"**.

------

Em seguida, você cria uma função e anexa a política de CloudWatch registros que você criou.

**Para criar um perfil do IAM e anexar uma política**

1. No painel de navegação, escolha **Perfis** e **Criar perfil**.

   Na página **Criar função**, certifique-se de que **AWS Serviço ** foi escolhido.

1. Selecione **Transferir** na lista de serviço, e **Próximo: Permissões**. Isso estabelece uma relação de confiança entre AWS Transfer Family e a função do IAM. Além disso, adicione as chaves de condição `aws:SourceAccount` e `aws:SourceArn` para se proteger contra o problema de *"confused deputy"*. Para obter mais detalhes, consulte a documentação a seguir:
   + Procedimento para estabelecer uma relação de confiança com AWS Transfer Family: [Estabelecer um relacionamento de confiança](requirements-roles.md#establish-trust-transfer) 
   + Descrição do problema de "confused deputy": [o problema do "confused deputy"](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)

1. Na seção **Anexar políticas de permissões**, localize e escolha a política de CloudWatch registros que você acabou de criar e escolha **Avançar: Tags**.

1. (Opcional) Insira uma chave e um valor para a tag e selecione **Próximo: análise**.

1. Na página **Análise**, insira um nome e uma descrição para a sua nova função, e escolha **Criar função**.

1. Para visualizar os logs, escolha o **ID do servidor** para abrir a página de configuração do servidor e selecione **Visualizar logs**. Você é redirecionado para o CloudWatch console, onde pode ver seus fluxos de log.

Na CloudWatch página do seu servidor, você pode ver registros de autenticação do usuário (sucesso e falha), uploads de dados (`PUT`operações) e downloads de dados (`GET`operações).

# Visualizando fluxos de registros do Transfer Family
<a name="view-log-entries"></a>

**Para ver os logs do servidor Transfer Family**

1. Navegar até a página de detalhes de um servidor.

1. Selecione **Exibir logs**. Isso abre a Amazon CloudWatch.

1. O grupo de logs do servidor selecionado é exibido.  
![\[\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/log-example-01.png)

1. É possível selecionar um fluxo de logs para exibir detalhes e entradas individuais do fluxo.
   + Se houver uma lista de **ERROS**, é possível escolhê-la para ver os detalhes dos erros mais recentes do servidor.  
![\[\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/log-example-errors.png)
   + Escolha qualquer outra entrada para ver um exemplo de fluxo de logs.  
![\[\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/log-example-02.png)
   + Se seu servidor tiver um fluxo de trabalho gerenciado associado a ele, é possível visualizar os logs das execuções do fluxo de trabalho.
**nota**  
O formato do fluxo de logs do fluxo de trabalho é `username.workflowId.uniqueStreamSuffix`. Por exemplo, **decrypt-user.w-a1111222233334444.aaaa1111bbbb2222** pode ser o nome de um fluxo de logs para usuário **decrypt-user** e fluxo de trabalho **w-a1111222233334444**.   
![\[\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/images/log-example-workflow.png)

**nota**  
**Para qualquer entrada de log expandida, é possível copiar a entrada para a área de transferência escolhendo Copiar**. Para obter mais detalhes sobre CloudWatch registros, consulte [Visualização de dados de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData).

## Criação de CloudWatch alarmes na Amazon
<a name="monitoring-cloudwatch-examples"></a>

O exemplo a seguir mostra como criar CloudWatch alarmes da Amazon usando a AWS Transfer Family métrica,`FilesIn`.

------
#### [ CDK ]

```
new cloudwatch.Metric({
  namespace: "AWS/Transfer",
  metricName: "FilesIn",
  dimensionsMap: { ServerId: "s-00000000000000000" },
  statistic: "Average",
  period: cdk.Duration.minutes(1),
}).createAlarm(this, "AWS/Transfer FilesIn", {
  threshold: 1000,
  evaluationPeriods: 10,
  datapointsToAlarm: 5,
  comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
});
```

------
#### [ CloudFormation ]

```
Type: AWS::CloudWatch::Alarm
Properties:
  Namespace: AWS/Transfer
  MetricName: FilesIn
  Dimensions:
    - Name: ServerId
      Value: s-00000000000000000
  Statistic: Average
  Period: 60
  Threshold: 1000
  EvaluationPeriods: 10
  DatapointsToAlarm: 5
  ComparisonOperator: GreaterThanOrEqualToThreshold
```

------

## Registrando as operações da API do Amazon S3 nos logs de acesso do S3
<a name="monitoring-s3-access-logs"></a>

**nota**  
Esta seção não se aplica aos aplicativos web Transfer Family.

Se você estiver [usando os logs de acesso do Amazon S3 para identificar solicitações de S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-s3-access-logs-to-identify-requests.html) feitas em nome de seus usuários de transferência de arquivos, `RoleSessionName` é usado para exibir qual perfil do IAM foi assumido para atender às transferências de arquivos. Ele também exibe informações adicionais, como nome de usuário, ID da sessão e ID do servidor usados para as transferências. O formato é `[AWS:Role Unique Identifier]/username.sessionid@server-id` e está contido no campo Solicitante. Por exemplo, a seguir está o conteúdo de um campo de exemplo de Solicitante de um log de acesso do S3 para um arquivo que foi copiado para o bucket do S3.

`arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id`

No campo Solicitante acima, ele mostra o perfil do IAM chamado `IamRoleName`. Para obter mais informações sobre identificadores exclusivos do perfil do IAM, consulte [Identificadores exclusivos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) no *Guia do usuário do AWS Identity and Access Management *.

# Exemplos para limitar o problema de "confused deputy"
<a name="cloudwatch-confused-deputy"></a>

O problema "confused deputy" é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executar a ação. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. Consulte mais detalhes em [Prevenção do problema do “confused deputy” entre serviços](confused-deputy.md).

**nota**  
Nos exemplos a seguir, substitua cada um *user input placeholder* por suas próprias informações.  
Nesses exemplos, você pode remover os detalhes do ARN de um fluxo de trabalho se o servidor não tiver nenhum fluxo de trabalho vinculado a ele.

O exemplo de logging/invocation política a seguir permite que qualquer servidor (e fluxo de trabalho) na conta assuma a função.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllServersWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                   "aws:SourceArn": [
                     "arn:aws:transfer:us-west-2:111122223333:server/*",
                     "arn:aws:transfer:us-west-2:111122223333:workflow/*"
                   ]
                }
            }
        }
    ]
}
```

O exemplo de logging/invocation política a seguir permite que um servidor específico (e fluxo de trabalho) assuma a função.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificServerWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                   "aws:SourceArn": [
                       "arn:aws:transfer:us-west-2:111122223333:server/server-id",
                       "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id"
                   ]
                }
            }
        }
    ]
}
```

# CloudWatch estrutura de log para Transfer Family
<a name="cw-structure-logs"></a>

Este tópico descreve os campos que são preenchidos nos registros do Transfer Family: tanto para entradas de registro estruturadas JSON quanto para entradas de registro legadas.

**Topics**
+ [Registros estruturados JSON para Transfer Family](#json-log-entries)
+ [Registros legados para Transfer Family](#legacy-log-entries)

## Registros estruturados JSON para Transfer Family
<a name="json-log-entries"></a>

A tabela a seguir contém detalhes dos campos de entrada de registro para SFTP/FTP/FTPS ações do Transfer Family, no novo formato de log estruturado JSON.


| Campo | Descrição | Exemplo de registro | 
| --- |--- |--- |
| tipo de atividade | A ação do usuário | Os tipos de atividades disponíveis são os seguintes: `AUTH_FAILURE``CONNECTED`,`DISCONNECTED`,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,`PARTIAL_CLOSE`,`RENAME`,`RMDIR`,`SETSTAT`,`TLS_RESUME_FAILURE`. | 
| bytes-in | Número de bytes enviados pelo usuário | 29238420042 | 
| saída de bytes | Número de bytes baixados pelo usuário | 23094032490328 | 
| ciphers | Especifica a cifra SSH negociada para a conexão (as cifras disponíveis estão listadas em) [Algoritmos criptográficos](security-policies.md#cryptographic-algorithms) | aes256-gcm@openssh.com | 
| client | O software cliente do usuário | SSH-2.0 - OpenSSH\$17.4 | 
| diretório inicial | O diretório em que o usuário final acessa quando se conecta ao endpoint, se o tipo de diretório inicial forPATH: se ele tiver um diretório inicial lógico, esse valor será sempre / | /user-home-bucket/teste | 
| kex | Especifica a troca de chaves SSH (KEX) negociada para a conexão (as KEX disponíveis estão listadas em) [Algoritmos criptográficos](security-policies.md#cryptographic-algorithms) | diffie-hellman-group14-sha256 | 
| message | Fornece mais informações relacionadas ao erro | <string> | 
| method | O método de autenticação | publickey | 
| modo | Especifica como um cliente abre um arquivo | CRIAR \$1 TRUNCAR \$1 ESCREVER | 
| operação | A operação do cliente em um arquivo | ABRIR \$1 FECHAR | 
| caminho | Caminho real do arquivo afetado | /amzn-s3-demo-bucket/test-file-1.pdf  | 
| ssh-public-key | O corpo da chave pública para o usuário que está se conectando | AAAAC3Óleo ZDI1 NTE5 AAAAIA9 NZAc1L Oy0Qv6 XYVHaa WAcj2sp DJVbgjrq DPY4pxd6 GnHl | 
| ssh-public-key-fingerprint | A impressão digital da chave pública, conforme mostrada no console para usuários gerenciados pelo serviço ao listar suas chaves de usuário.  No console, a impressão digital é exibida com os caracteres de preenchimento (se houver): de 0 a 3 sinais iguais (=) no final. Na entrada de registro, esse preenchimento é retirado da saída.  | SHA256: BY3g NMHw TFjd4n2vut4pty /0 LOk82z WZj4 KEYEu7y4r | 
| ssh-public-key-type | Tipo de chave pública: o Transfer Family suporta chaves formatadas em RSA, ECDSA e - ED25519 | ssh-ed25519 | 
| ganho de recursos | Um identificador exclusivo atribuído pelo sistema para um recurso específico (por exemplo, um servidor) |  arn: aws: transferência: ap-nordeste- 1:12346789012: servidor/s-1234567890akeu2js2  | 
| perfil | A função do IAM do usuário |  arn: aws: iam: 0293883675: role/testuser-role  | 
| session-id | Um identificador exclusivo atribuído pelo sistema para uma única sessão |  9ca9a0e1cec6ad9d  | 
| ip de origem | Endereço IP do cliente | 18.323.0.129 | 
| usuário | O nome de usuário do usuário final | meu nome 192 | 
| política de usuário | As permissões especificadas para o usuário final: esse campo será preenchido se a política do usuário for uma política de sessão. | O código JSON para a política de sessão que está sendo usada | 

## Registros legados para Transfer Family
<a name="legacy-log-entries"></a>

A tabela a seguir contém detalhes das entradas de registro de várias ações do Transfer Family.

**nota**  
 Essas entradas não estão no novo formato de log estruturado JSON.

A tabela a seguir contém detalhes das entradas de registro para várias ações do Transfer Family, no novo formato de log estruturado JSON.




| Ação | Registros correspondentes no Amazon CloudWatch Logs | 
| --- | --- | 
| Falhas de autenticação |  ERROS AUTH\$1FAILURE METHOD=publicKey user=lhr message="rsa:lfz3r2nm k\$1b7rb1rsv ae\$1a\$1hxg0c7l1jiz0" sourceIP=3.8.172.211 SHA256 LY4ra UIb   | 
| Workflow do COPY/TAG/DELETE/DECRYPT |  \$1"type”:” StepStarted “, "details”: \$1"input”: \$1"fileLocation”: \$1"BackingStore” :"EFS”, "fileSystemID” :"fs-12345678", "path”:” /lhr/regex.py “\$1\$1, "stepType” :"TAG”, "stepName” :"successful\$1tag\$1step "\$1, "workflowId” :"w-1111aaaa2222bbbb3", "ExecutionId” :"81234abcd-1234-efgh-5678-ijklmnopqr90", "transferDetails”: \$1"serverID” :"s-1234abcd5678efghi”, "nome de usuário” :"lhr”, "sessionId” :"12345678efghi”, "nome de usuário” :"lhr”, "sessionId” :"12345678efghi” 890abcdef0"\$1\$1  | 
| Fluxo de trabalho personalizado das etapas |  \$1"type”:” CustomStepInvoked “, "details”: \$1"output”: \$1"token” :"Mzm4Mjg5 YWUt YTEz My00 YjIz LWI3 OGMt YZu4 OGI2 ZjQyMz E5"\$1, "stepType” :"CUSTOM”, "stepName” :"efs-s3\$1copy\$12"\$1, "workflowId” :"w-9283e49d33297c3f7", "executionId” :"w-9283e49d33297c3f7", "executionId” ID” :"1234abcd-1234-efgh-5678-ijklmnopqr90", "Detalhes da transferência”: \$1"serverID” :"s-zzzz11aaaa22223", "nome de usuário” :"lhr”, "SessionID” :"1234567890abcdef0"\$1\$1  | 
| Exclui |  lhr.33a8fb495ffb383b EXCLUIR /123.jpg Path=/bucket/user  | 
| Downloads |  lhr.33a8fb495ffb383b ABRA O MODO /123.jpg = LEIA Path=/bucket/user llhr.33a8fb495ffb383b FECHAR /123.jpg =3618546 Path=/bucket/user BytesOut  | 
| Logins/logouts |  user.914984e553bcddb6 FONTE CONECTADA IP=1.22.111.222 usuário=lhr =CLIENTE LÓGICO=SSH-2.0-openSSH\$17.4 role=arn:aws: :iam: :123456789012:role/sftp-s3-access HomeDir user.914984e553bcddb6 DISCONNECTED  | 
| Renomeia |  lhr.33a8fb495ffb383b RENOMEAR .png Path=/bucket/user/lambo.png NewPath=/bucket/user/ferrari   | 
| Exemplo de log de erros do fluxo de trabalho |  \$1"type”:” StepErrored “, "details”: \$1"errorType” :"BAD\$1REQUEST”, "errorMessage” :"Não é possível marcar o arquivo Efs”, "stepType” :"TAG”, "stepName” :"successful\$1tag\$1step "\$1, "workflowID” :"w-1234abcd5678efghi”, "executionId” :"81234abcd-1234-efgh-5678-ijklmnopqr90", "TransferDetails”: \$1"serverID” :"s-1234abcd5678efghi”, "nome de usuário” :"lhr”, "SessionID” :"1234567890abcdef0"\$1\$1   | 
| Symlinks |  lhr.eb49cf7b8651e6d5 CREATE\$1SYMLINK =/fs-12345678/lhr/pqr.jpg =abc.jpg LinkPath TargetPath   | 
| Uploads |  lhr.33a8fb495ffb383b ABRA /123.jpg MODE=Create\$1Truncate\$1Write Path=/bucket/user lhr.33a8fb495ffb383b FECHAR /123.jpg =3618546 Path=/bucket/user BytesIn  | 
| Fluxos de trabalho |  \$1"type”:” ExecutionStarted “, "details”: \$1"input”: \$1” “: \$1" BackingStore” :"EFS”, "fileSystemID” :"fs-12345678", "path”:” /lhr/regex.py initialFileLocation “\$1\$1\$1, "workflowId” :"w-11aaaa2222bbbb3", "ExecutionId” :"1234abcd-123" 4-efgh-5678-ijklmnopqr90", "TransferDetails”: \$1"serverID” :"s-zzzz1111aaaa22223", "nome de usuário” :"lhr”, "sessionID” :"1234567890abcdef0"\$1\$1 \$1"type”:” StepStarted “, "details”: \$1"input”: \$1"fileLocation”: \$1"BackingStore” :"EFS”, "fileSystemID” :"fs-12345678", "path”:” /lhr/regex.py “\$1\$1, "stepType” :"CUSTOM”, "stepName” :"efs-s3\$1copy\$12"\$1, "workflo\$12"\$1, "workflo\$12"\$1 wiD” :"w-9283e49d33297c3f7", "executionId” :"1234abcd-1234-efgh-5678-ijklmnopqr90", "transferDetails”: \$1"serverID” :"s-18ca49dce5d842e0b”, "nome de usuário” :"lhr”, "SessionId””: “1234567890abcdef0"\$1\$1  | 

# Exemplo de entradas CloudWatch de registro
<a name="cw-example-logs"></a>

Este tópico apresenta exemplos de entradas de registro.

**Topics**
+ [Exemplo de entradas de registro de sessões de transferência](#session-log-examples)
+ [Exemplo de entradas de registro para conectores SFTP](#example-sftp-connector-logs)
+ [Exemplo de entradas de registro para conectores VPC Lattice](#example-vpc-lattice-connector-logs)
+ [Exemplo de entradas de registro para falhas no algoritmo de troca de chaves](#example-kex-logs)

## Exemplo de entradas de registro de sessões de transferência
<a name="session-log-examples"></a>

Neste exemplo, um usuário do SFTP se conecta a um servidor Transfer Family, carrega um arquivo e depois se desconecta da sessão.

A entrada de registro a seguir reflete um usuário SFTP se conectando a um servidor Transfer Family.

```
{
   "role": "arn:aws:iam::500655546075:role/transfer-s3",
   "activity-type": "CONNECTED",
   "ciphers": "chacha20-poly1305@openssh.com,chacha20-poly1305@openssh.com",
   "client": "SSH-2.0-OpenSSH_7.4",
   "source-ip": "52.94.133.133",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "home-dir": "/test/log-me",
   "ssh-public-key": "AAAAC3NzaC1lZDI1NTE5AAAAIA9OY0qV6XYVHaaOiWAcj2spDJVbgjrqDPY4pxd6GnHl",
   "ssh-public-key-fingerprint": "SHA256:BY3gNMHwTfjd4n2VuT4pTyLOk82zWZj4KEYEu7y4r/0",
   "ssh-public-key-type": "ssh-ed25519",
   "user": "log-me",
   "kex": "ecdh-sha2-nistp256",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

A entrada de registro a seguir reflete o usuário do SFTP fazendo o upload de um arquivo em seu bucket do Amazon S3.

```
{
   "mode": "CREATE|TRUNCATE|WRITE",
   "path": "/test/log-me/config-file",
   "activity-type": "OPEN",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

As entradas de registro a seguir refletem o usuário do SFTP se desconectando da sessão do SFTP. Primeiro, o cliente fecha a conexão com o bucket e, em seguida, desconecta a sessão SFTP.

```
{
   "path": "/test/log-me/config-file",
   "activity-type": "CLOSE",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "bytes-in": "121",
   "session-id": "9ca9a0e1cec6ad9d"
}

{
   "activity-type": "DISCONNECTED",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

**nota**  
Os tipos de atividades disponíveis são os seguintes: `AUTH_FAILURE``CONNECTED`,`DISCONNECTED`,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,`PARTIAL_CLOSE`,`RENAME`,`RMDIR`,`SETSTAT`,`TLS_RESUME_FAILURE`.

## Exemplo de entradas de registro para conectores SFTP
<a name="example-sftp-connector-logs"></a>

Esta seção contém registros de exemplo de uma transferência bem-sucedida e malsucedida. Os registros são gerados em um grupo de registros chamado`/aws/transfer/connector-id`, onde *connector-id* está o identificador do seu conector SFTP. As entradas de registro para conectores SFTP são geradas quando você executa um comando `StartFileTransfer` ou`StartDirectoryListing`.

Essa entrada de registro é para uma transferência que foi concluída com êxito.

```
{
    "operation": "RETRIEVE",
    "timestamp": "2023-10-25T16:33:27.373720Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://192.0.2.0",
    "file-path": "/remotebucket/remotefilepath",
    "status-code": "COMPLETED",
    "start-time": "2023-10-25T16:33:26.945481Z",
    "end-time": "2023-10-25T16:33:27.159823Z",
    "account-id": "480351544584",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "local-directory-path": "/connectors-localbucket",
    "bytes": 514,
    "egress-type": "SERVICE_MANAGED"
}
```

Essa entrada de registro é para uma transferência que atingiu o tempo limite e, portanto, não foi concluída com êxito.

```
{
    "operation": "RETRIEVE",
    "timestamp": "2023-10-25T22:33:47.625703Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://192.0.2.0",
    "file-path": "/remotebucket/remotefilepath",
    "status-code": "FAILED",
    "failure-code": "TIMEOUT_ERROR",
    "failure-message": "Transfer request timeout.",
    "account-id": "480351544584",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "local-directory-path": "/connectors-localbucket",
    "egress-type": "SERVICE_MANAGED"
}
```

Essa entrada de registro é para uma operação SEND bem-sucedida.

```
{
    "operation": "SEND",
    "timestamp": "2024-04-24T18:16:12.513207284Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com",
    "file-path": "/amzn-s3-demo-bucket/my-test-folder/connector-metrics-us-east-1-2024-01-02.csv",
    "status-code": "COMPLETED",
    "start-time": "2024-04-24T18:16:12.295235884Z",
    "end-time": "2024-04-24T18:16:12.461840732Z",
    "account-id": "255443218509",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "bytes": 275,
    "egress-type": "SERVICE_MANAGED"
}
```

Descrições de alguns campos-chave nos exemplos de registro anteriores.
+ `timestamp`representa quando o registro é adicionado CloudWatch a. `start-time`e `end-time` correspondem a quando o conector realmente inicia e termina uma transferência.
+ `transfer-id`é um identificador exclusivo atribuído a cada `start-file-transfer` solicitação. Se o usuário passar vários caminhos de arquivo em uma única operação de `start-file-transfer` API, todos os arquivos compartilharão o mesmo`transfer-id`.
+ `file-transfer-id`é um valor exclusivo gerado para cada arquivo transferido. Observe que a parte inicial do `file-transfer-id` é a mesma que`transfer-id`.

## Exemplo de entradas de registro para conectores VPC Lattice
<a name="example-vpc-lattice-connector-logs"></a>

Esta seção contém registros de exemplo para conectores VPC Lattice. Para conectores VPC Lattice, os registros incluem campos adicionais que fornecem informações sobre a configuração do conector e a configuração da rede.

Essa entrada de registro é para uma operação SEND do conector VPC Lattice que foi concluída com êxito.

```
{
  "operation": "SEND",
  "timestamp": "2025-09-05T14:20:19.577192454Z",
  "connector-id": "connector-id",
  "transfer-id": "transfer-id",
  "file-transfer-id": "transfer-id/file-transfer-id",
  "file-path": ""/amzn-s3-demo-bucket/my-test-folder/connector-vpc-lattice-us-east-1-2025-03-22.csv"",
  "status-code": "COMPLETED",
  "start-time": "2025-09-05T14:20:19.434072509Z",
  "end-time": "2025-09-05T14:20:19.481453346Z",
  "account-id": "account-id",
  "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
  "remote-directory-path": "/test-bucket/test-folder/",
  "bytes": 262,
  "egress-type": "VPC_LATTICE",
  "vpc-lattice-resource-configuration-arn": "arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/resource-configuration-arn-id,
  "vpc-lattice-port-number": 22
}
```

Os registros do conector VPC Lattice incluem os seguintes campos adicionais:
+ `egress-type`- Tipo de configuração de saída para o conector
+ `vpc-lattice-resource-configuration-arn`- ARN da configuração de recursos de rede VPC que define a localização do servidor SFTP de destino
+ `vpc-lattice-port-number`- Número da porta para conexão com o servidor SFTP por meio do VPC Lattice

## Exemplo de entradas de registro para falhas no algoritmo de troca de chaves
<a name="example-kex-logs"></a>

Esta seção contém exemplos de registros em que o algoritmo de troca de chaves (KEX) falhou. Esses são exemplos do fluxo de registros **ERRORS** para registros estruturados.

Essa entrada de registro é um exemplo em que há um erro de tipo de chave de host.

```
{
    "activity-type": "KEX_FAILURE",
    "source-ip": "999.999.999.999",
    "resource-arn": "arn:aws:transfer:us-east-1:999999999999:server/s-999999999999999999",
    "message": "no matching host key type found",
    "kex": "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss"
}
```

Essa entrada de registro é um exemplo em que há uma incompatibilidade de KEX.

```
{
    "activity-type": "KEX_FAILURE",
    "source-ip": "999.999.999.999",
    "resource-arn": "arn:aws:transfer:us-east-1:999999999999:server/s-999999999999999999",
    "message": "no matching key exchange method found",
    "kex": "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256"
}
```

# Usando CloudWatch métricas para servidores Transfer Family
<a name="metrics"></a>

**nota**  
 Você também pode obter métricas para o Transfer Family no próprio console do Transfer Family. Para obter detalhes, consulte [Monitoramento do uso no console](monitor-usage-transfer-console.md) 

Você pode obter informações sobre seu servidor usando CloudWatch métricas. Uma *métrica* representa um conjunto ordenado por tempo de pontos de dados publicados em. CloudWatch Ao usar métricas, você deve especificar o namespace do Transfer Family, o nome da métrica e a [dimensão](#cw-dimensions). Para obter mais informações sobre métricas, consulte [Métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric) no *Guia CloudWatch do usuário da Amazon*.

 A tabela a seguir descreve as CloudWatch métricas do Transfer Family.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/transfer/latest/userguide/metrics.html)

## Dimensões do Transfer Family
<a name="cw-dimensions"></a>

Uma *dimensão* é um name/value par que faz parte da identidade de uma métrica. Para obter mais informações sobre dimensões, consulte [Dimensões](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension) no *Guia do CloudWatch usuário da Amazon*.

A tabela a seguir descreve as CloudWatch dimensões do Transfer Family.


| Dimensão | Description | 
| --- | --- | 
| `ServerId` | O ID exclusivo do usuário. | 
| `ConnectorId` | O ID exclusivo do conector. Usado para AS2, para `OutboundMessage` e `OutboundFailedMessage` | 

## Usando Notificações de Usuários da AWS com AWS Transfer Family
<a name="using-user-notifications"></a>

Para ser notificado sobre AWS Transfer Family eventos, você pode usar [Notificações de Usuários da AWS](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html)para configurar vários canais de entrega. Você recebe uma notificação quando um evento corresponde a uma regra especificada por você. 

É possível receber notificações para eventos por meio de diversos canais, incluindo o e-mail, o [Amazon Q Developer em aplicações de chat](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html), notificações por chat ou notificações push do [AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html). Você também pode ver as notificações na [Central de Notificações do Console](https://console.aws.amazon.com/notifications/). Notificações de Usuários suporta agregação, o que pode reduzir o número de notificações que você recebe durante eventos específicos.

Para obter mais informações, consulte a postagem do blog [Personalizar notificações de entrega de arquivos usando fluxos de trabalho AWS Transfer Family gerenciados](https://aws.amazon.com/blogs/storage/customize-file-delivery-notifications-using-aws-transfer-family-managed-workflows/) e [O que é Notificações de Usuários da AWS?](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html) no *Guia do Notificações de Usuários da AWS usuário*.

# Usando consultas para filtrar entradas de registro
<a name="cw-queries"></a>

Você pode usar CloudWatch consultas para filtrar e identificar entradas de registro do Transfer Family. Esta seção contém alguns exemplos.

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

1. Você pode criar consultas ou regras.
   + Para criar uma consulta do **Logs Insights****, escolha Logs Insights** no painel de navegação esquerdo e insira os detalhes da sua consulta.
   + Para criar uma regra do **Contributor Insights**, escolha Insights > Contributor Insights no painel de navegação esquerdo e, em seguida, insira os detalhes da sua regra.

1. Execute a consulta ou regra que você criou.

**Veja os principais contribuidores de falhas de autenticação**

Em seus registros estruturados, uma entrada de registro de falha de autenticação é semelhante à seguinte:

```
{
  "method":"password",
  "activity-type":"AUTH_FAILURE",
  "source-ip":"999.999.999.999",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "message":"Invalid user name or password",
  "user":"exampleUser"
}
```

Execute a consulta a seguir para ver os principais contribuintes para falhas de autenticação.

```
filter @logStream = 'ERRORS'
| filter `activity-type` = 'AUTH_FAILURE'
| stats count() as AuthFailures by user, method
| sort by AuthFailures desc
| limit 10
```

Em vez de usar o **CloudWatch Logs Insights**, você pode criar uma regra do **CloudWatch Contributors Insights** para visualizar as falhas de autenticação. Crie uma regra semelhante à seguinte.

```
{
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.activity-type",
                "In": [
                    "AUTH_FAILURE"
                ]
            }
        ],
        "Keys": [
            "$.user"
        ]
    },
    "LogFormat": "JSON",
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupARNs": [
        "arn:aws:logs:us-east-1:999999999999:log-group:/customer/structured_logs"
    ]
}
```

**Exibir entradas de registro em que um arquivo foi aberto**

Em seus registros estruturados, uma entrada de registro de leitura de arquivo é semelhante à seguinte:

```
{
  "mode":"READ",
  "path":"/fs-0df669c89d9bf7f45/avtester/example",
  "activity-type":"OPEN",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "session-id":"0049cd844c7536c06a89"
}
```

Execute a consulta a seguir para visualizar as entradas de registro que indicam que um arquivo foi aberto.

```
filter `activity-type` = 'OPEN'
| display @timestamp, @logStream, `session-id`, mode, path
```