

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Amazon CloudWatch es un potente servicio de supervisión y observabilidad que proporciona una visibilidad completa de sus AWS recursos, incluidos AWS Transfer Family los siguientes:
+ Supervisión en tiempo real: CloudWatch supervisa los recursos y las aplicaciones de Transfer Family en tiempo real, lo que le permite realizar un seguimiento y analizar su rendimiento.
+ Recopilación de métricas: CloudWatch recopila y rastrea varias métricas para sus recursos y aplicaciones, que son variables que puede medir y usar para el análisis.
+ CloudWatch página de inicio: la página de CloudWatch inicio muestra automáticamente las métricas sobre Transfer Family y otros AWS servicios que utiliza, lo que proporciona una vista centralizada de sus datos de supervisión.
+ Paneles personalizados: puede crear paneles personalizados CloudWatch para mostrar las métricas específicas de sus aplicaciones personalizadas y los recursos que elija monitorear.
+ Alarmas y notificaciones: CloudWatch le permite crear alarmas que supervisen sus métricas y activar notificaciones o acciones automatizadas cuando se superen ciertos umbrales. Esto puede resultar útil para supervisar la actividad de transferencia de archivos en los servidores de Transfer Family y escalar los recursos en consecuencia.
+ Optimización de costos: puede usar los datos recopilados por usted CloudWatch para identificar los recursos infrautilizados y tomar medidas, como detener o eliminar instancias, para optimizar sus costos.

En general, las capacidades integrales de monitoreo lo CloudWatch convierten en una herramienta valiosa para administrar y optimizar su infraestructura de Transfer Family y las aplicaciones que se ejecutan en ella.

Los detalles para CloudWatch iniciar sesión en las aplicaciones web de Transfer Family están disponibles en[CloudTrail registro para aplicaciones web Transfer Family](webapp-cloudtrail.md).

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

Transfer Family ofrece dos formas de registrar eventos en CloudWatch:
+ Registro estructurado JSON
+ Registro mediante una función de registro

Para los servidores Transfer Family, puede elegir el mecanismo de registro que prefiera. Para los conectores y los flujos de trabajo, solo se admiten las funciones de registro.

**Registro estructurado en JSON**

Para registrar los eventos del servidor, se recomienda utilizar el registro estructurado JSON. Esto proporciona un formato de registro más completo que permite la consulta de CloudWatch registros. Para este tipo de registro, la política de IAM del usuario que crea el servidor (o edita la configuración de registro del servidor) debe contener los siguientes permisos:
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

A continuación, se muestra una política de ejemplo.

```
{
    "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 obtener más información sobre la configuración del registro estructurado de JSON, consulte. [Crear, actualizar y ver los registros de los servidores](log-server-manage.md)

**Función de registro**

Para registrar los eventos de un flujo de trabajo gestionado que está conectado a un servidor, así como de los conectores, debe especificar un rol de registro. Para establecer el acceso, debe crear una política de IAM basada en recursos y un rol de IAM que proporcione la información de acceso. El siguiente es un ejemplo de política para una Cuenta de AWS que puede registrar eventos del 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 obtener más información sobre la configuración de una función de registro para registrar los eventos del flujo de trabajo, consulte[Administrar el registro de los flujos de trabajo](cloudwatch-workflows.md).

# Crear, actualizar y ver los registros de los servidores
<a name="log-server-manage"></a>

Para todos los AWS Transfer Family servidores, ofrecemos un registro estructurado. Le recomendamos que utilice un registro estructurado para todos los servidores Transfer Family nuevos y existentes. Entre las ventajas del uso del registro estructurado se incluyen las siguientes:
+ Recibir los registros en un formato JSON estructurado.
+ Consulte sus registros con Amazon CloudWatch Logs Insights, que descubre automáticamente los campos con formato JSON.
+ Compartir grupos de registros entre AWS Transfer Family recursos le permite combinar flujos de registros de varios servidores en un solo grupo de registros, lo que facilita la administración de las configuraciones de monitoreo y los ajustes de retención de registros.
+ Cree métricas y visualizaciones agregadas que se puedan añadir a los CloudWatch paneles.
+ Realizar un seguimiento de los datos de uso y rendimiento mediante grupos de registros para crear métricas de registro, visualizaciones y paneles consolidados.

Para habilitar el registro de los flujos de trabajo que están conectados a los servidores, debe usar una función de registro.

**nota**  
Al agregar una función de registro, el grupo de registro siempre está `/aws/transfer/your-serverID` activo y no se puede cambiar. Esto significa que, a menos que envíe los registros estructurados del servidor al mismo grupo, iniciará sesión en dos grupos de registro distintos.  
Si sabe que va a asociar un flujo de trabajo a su servidor y, por lo tanto, necesita añadir una función de registro, puede configurar el registro estructurado para que se registre en el grupo de registros predeterminado`/aws/transfer/your-serverID`.  
Para modificar el grupo de registro, consulte [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations)la *referencia de la AWS Transfer Family API*.

Si crea un servidor mediante la consola de Transfer Family, el registro se habilita de forma predeterminada. Después de crear el servidor, puede usar la operación de `UpdateServer` API para cambiar la configuración de registro. Para obtener más información, consulte [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations).

Actualmente, para los flujos de trabajo, si desea habilitar el registro, debe especificar un rol de registro:
+ Si asocia un flujo de trabajo a un servidor mediante la operación `CreateServer` o la `UpdateServer` API, el sistema no crea automáticamente una función de registro. Si desea registrar los eventos de su flujo de trabajo, debe adjuntar explícitamente un rol de registro al servidor.
+ Si crea un servidor mediante la consola Transfer Family y adjunta un flujo de trabajo, los registros se envían a un grupo de registros que contiene el ID del servidor en el nombre. El formato es `/aws/transfer/server-id`, por ejemplo, `/aws/transfer/s-1111aaaa2222bbbb3`. Los registros del servidor se pueden enviar a este mismo grupo de registros o a uno diferente.

**Consideraciones sobre el registro para crear y editar los servidores en la consola**
+ Los nuevos servidores creados a través de la consola solo admiten el registro JSON estructurado, a menos que haya un flujo de trabajo adjunto al servidor.
+ *Ningún registro* no es una opción para los servidores nuevos que usted cree en la consola.
+ Los servidores existentes pueden habilitar el registro JSON estructurado a través de la consola en cualquier momento.
+ Al habilitar el registro JSON estructurado a través de la consola, se deshabilita el método de registro existente para que no se cobre dos veces a los clientes. La excepción es si existe un flujo de trabajo asociado con el servidor.
+ Si habilita el registro JSON estructurado, no podrá deshabilitarlo posteriormente a través de la consola.
+ Si habilita el registro JSON estructurado, puede cambiar el destino del grupo de registros a través de la consola en cualquier momento.
+ Si habilita el registro JSON estructurado, no podrá editar el rol de registro a través de la consola si ha habilitado ambos tipos de registro a través de la API. La excepción es si existe su servidor tiene un flujo de trabajo adjunto. Sin embargo, el rol de registro sigue apareciendo en **Detalles adicionales**.

**Consideraciones sobre el registro para crear y editar los servidores mediante API o SDK**
+ Si crea un servidor nuevo a través de la API, puede configurar uno o ambos tipos de registro, o elegir no realizar ningún registro.
+ Para los servidores existentes, habilita o deshabilita el registro JSON estructurado en cualquier momento.
+ Puede cambiar el grupo de registros mediante la API en cualquier momento.
+ Puede cambiar el rol del registro mediante la API en cualquier momento.

**Para habilitar el registro estructurado, debe iniciar sesión en una cuenta con los siguientes permisos**
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

En la sección hay disponible un ejemplo de política[Configura el rol de CloudWatch registro](configure-cw-logging-role.md).

**Topics**
+ [Crear registros para servidores](#log-server-create)
+ [Actualización del registro de un servidor](#log-server-update)
+ [Vista de la configuración del servidor](#log-server-config)

## Crear registros para servidores
<a name="log-server-create"></a>

Al crear un servidor nuevo, en la página **Configurar detalles adicionales**, puede especificar un grupo de registros existente o crear uno nuevo.

![\[Panel de registro para Configurar detalles adicionales en el asistente de Crear servidor. Se selecciona Elegir un grupo de registro existente.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-choose-existing-group.png)


Si elige **Crear grupo de registros**, la CloudWatch consola ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) se abre en la página **Crear grupo de registros**. Para obtener más información, consulte [Crear un grupo de CloudWatch registros en Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

## Actualización del registro de un servidor
<a name="log-server-update"></a>

Los detalles del registro dependen del escenario de la actualización.

**nota**  
Si opta por el registro JSON estructurado, es posible que, en raras ocasiones, se produzca un retraso donde Transfer Family deje de registrar en el formato anterior, pero demore cierto tiempo en empezar a registrar en el nuevo formato JSON. Esto puede provocar que los eventos no se registren. No se producirán interrupciones en el servicio, pero debe tener cuidado al transferir los archivos durante la primera hora después de cambiar el método de registro, ya que los registros podrían perderse.

Si está editando un servidor existente, las opciones dependerán del estado del servidor.
+ El servidor ya tiene habilitado un rol de registro, pero no tiene activado el registro JSON estructurado.  
![\[Panel de registro, que muestra un rol de registro existente.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-choose-role.png)
+ El servidor no tiene activado ningún registro.  
![\[Panel de registro si el servidor no tiene activado ningún registro.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-edit-none.png)
+ El servidor ya tiene habilitado el registro JSON estructurado, pero no tiene un rol de registro especificado.  
![\[Panel de registro si el servidor aún no tiene activado ningún registro.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-edit-add-json-02.png)
+ El servidor ya tiene habilitado el registro JSON estructurado y tiene un rol de registro especificado.  
![\[El panel de registro si el servidor tiene habilitado el registro estructurado y también tiene un rol de registro especificada.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-edit-both.png)

## Vista de la configuración del servidor
<a name="log-server-config"></a>

Los detalles de la página de configuración del servidor dependen del escenario:

Según el escenario, la página de configuración del servidor puede tener un aspecto similar a uno de los siguientes ejemplos:
+ No se ha habilitado ningún registro.  
![\[Configuración de registro sin ningún registro configurado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-config-none.png)
+ El registro JSON estructurado está habilitado.  
![\[Configuración de registro con registro estructurado configurado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-config-structured.png)
+ El rol de registros está activado, pero el registro JSON estructurado no está activado.  
![\[Configuración de registro con el rol de registro configurado.\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-config-legacy.png)
+ Ambos tipos de registro (rol de registro y registro JSON estructurado) están habilitados.  
![\[Configuración de registro con ambos tipos de registro configurados (rol de registro y registro JSON estructurado).\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/logging-server-config-both.png)

# Administrar el registro de los flujos de trabajo
<a name="cloudwatch-workflows"></a>

CloudWatch proporciona auditorías y registros consolidados del progreso y los resultados del flujo de trabajo. Además, AWS Transfer Family proporciona varias métricas para los flujos de trabajo. Puede ver las métricas de la cantidad de flujos de trabajo que se iniciaron, se completaron correctamente y se produjeron errores en el minuto anterior. Todas las CloudWatch métricas de Transfer Family se describen en[Uso de CloudWatch métricas para servidores Transfer Family](metrics.md).

**Ver los CloudWatch registros de Amazon para flujos de trabajo**

1. Abre la CloudWatch consola de Amazon en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación izquierdo, seleccione **Registros** y, a continuación, **Grupos de registros**.

1. En la página de **grupos de registros**, en la barra de navegación, elige la región correcta para tu AWS Transfer Family servidor.

1. Elija el grupo de registro que corresponda a su servidor.

   Por ejemplo, si su ID del servidor es `s-1234567890abcdef0`, su grupo de registros es `/aws/transfer/s-1234567890abcdef0`.

1. En la página de detalles del grupo de registros de su servidor, se muestran los flujos de registro más recientes. Hay dos flujos de registro para el usuario que está explorando: 
   + Uno para cada sesión del Protocolo de File Transfer (SFTP) de Secure Shell (SSH).
   + Uno para el flujo de trabajo que se está ejecutando en el servidor. El formato del flujo de registro del flujo de trabajo es `username.workflowID.uniqueStreamSuffix`.

   Por ejemplo, si su usuario es `mary-major`, tendrá los flujos de registro siguientes:

   ```
   mary-major-east.1234567890abcdef0
   mary.w-abcdef01234567890.021345abcdef6789
   ```
**nota**  
 Los identificadores alfanuméricos de 16 dígitos que se muestran en este ejemplo son ficticios. Los valores que ves en Amazon CloudWatch son diferentes. 

La página de **Eventos de registro** para `mary-major-usa-east.1234567890abcdef0` muestra los detalles de cada sesión de usuario y el flujo de registro `mary.w-abcdef01234567890.021345abcdef6789` contiene los detalles del flujo de trabajo. 

 El siguiente es un ejemplo de flujo de registro para `mary.w-abcdef01234567890.021345abcdef6789`, basado en un flujo de trabajo (`w-abcdef01234567890`) que contiene un paso de copiado. 

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

# Configura el rol de CloudWatch registro
<a name="configure-cw-logging-role"></a>

Para establecer el acceso, debe crear una política de IAM basada en recursos y un rol de IAM que proporcione la información de acceso.

Para habilitar el CloudWatch registro de Amazon, comience por crear una política de IAM que permita el CloudWatch registro. A continuación, cree un rol de IAM y asóciele la política. Puede hacerlo cuando [crea un servidor](getting-started.md#getting-started-server) o [edita un servidor existente](edit-server-config.md). Para obtener más información CloudWatch, consulta [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) y [¿Qué es Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) en la *Guía del CloudWatch usuario de Amazon*.

Utilice el siguiente ejemplo de políticas de IAM para permitir el 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": "*"
        }
    ]
}
```

En la política del ejemplo anterior**Resource**, sustituya *region-id* y por *Cuenta de AWS* sus valores. Por ejemplo, **"Resource": "arn:aws::logs:us-east-1:111122223333:log-group:/aws/transfer/\$1"**

------

A continuación, crea un rol y adjunta la política de CloudWatch registros que creó.

**Para crear un rol de IAM y asociar una política**

1. En el panel de navegación, seleccione **Roles** y luego seleccione **Crear rol**.

   En la página **Crear rol**, asegúrese de que **servicio de AWS ** está seleccionado.

1. Elija **Transfer (Transferencia)** en la lista de servicios y, a continuación, elija **Next: Permissions (Siguiente: Permisos)**. Esto establece una relación de confianza entre el rol de IAM AWS Transfer Family y el mismo. Además, añada las claves de condición `aws:SourceAccount` y `aws:SourceArn` para protegerse del problema del *suplente confuso*. Para obtener más información, consulte la documentación siguiente:
   + Procedimiento para establecer una relación de confianza con AWS Transfer Family: [Para establecer una relación de confianza](requirements-roles.md#establish-trust-transfer) 
   + Descripción del problema del suplente confuso: [el problema del suplente confuso](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)

1. En la sección **Adjuntar políticas de permisos**, busque y elija la política de CloudWatch registros que acaba de crear y elija **Siguiente: etiquetas**.

1. (Opcional) Introduzca una clave y un valor de etiqueta y seleccione **Siguiente: Revisión**.

1. En la página **Review (Revisión)**, escriba un nombre y una descripción para el nuevo rol y, a continuación, elija **Create role (Crear rol)**.

1. Para ver los registros, seleccione la **ID de servidor** para abrir la página de configuración del servidor y seleccione **Ver registros**. Se le redirigirá a la CloudWatch consola, donde podrá ver sus flujos de registro.

En la CloudWatch página de su servidor, puede ver los registros de la autenticación de los usuarios (correcta y fallida), las cargas de datos (`PUT`operaciones) y las descargas de datos (`GET`operaciones).

# Visualización de las transmisiones de registros de Transfer Family
<a name="view-log-entries"></a>

**Visualización de los registros del servidor de Transfer Family**

1. Navegue a la página de detalles de un servidor.

1. Seleccione **Ver registros **. Esto abre Amazon CloudWatch.

1. Se muestra el grupo de registros del servidor seleccionado.  
![\[\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/log-example-01.png)

1. Puede seleccionar un flujo de registro para mostrar los detalles y las entradas individuales del flujo.
   + Si hay una lista de **ERRORES**, puede seleccionarla para ver los detalles de los errores más recientes del servidor.  
![\[\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/log-example-errors.png)
   + Seleccione cualquier otra entrada para ver un ejemplo de flujo de registro.  
![\[\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/log-example-02.png)
   + Si el servidor tiene asociado un flujo de trabajo administrado, puede ver los registros de las ejecuciones del flujo de trabajo.
**nota**  
El formato del flujo de registro del flujo de trabajo es `username.workflowId.uniqueStreamSuffix`. Por ejemplo, **decrypt-user.w-a1111222233334444.aaaa1111bbbb2222** podría ser el nombre de un flujo de registro para el usuario **decrypt-user** y el flujo de trabajo **w-a1111222233334444**.   
![\[\]](http://docs.aws.amazon.com/es_es/transfer/latest/userguide/images/log-example-workflow.png)

**nota**  
Para cualquier entrada de registro expandida, puede copiarla en el portapapeles seleccionando **Copiar**. Para obtener más información sobre CloudWatch los registros, consulte [Visualización de los datos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData).

## Creación de CloudWatch alarmas de Amazon
<a name="monitoring-cloudwatch-examples"></a>

El siguiente ejemplo muestra cómo crear CloudWatch alarmas de Amazon con la 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
```

------

## Registrar las operaciones de la API de Amazon S3 en los registros de acceso de S3
<a name="monitoring-s3-access-logs"></a>

**nota**  
Esta sección no se aplica a las aplicaciones web Transfer Family.

Si [utiliza los registros de acceso de Amazon S3 para identificar las solicitudes de S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-s3-access-logs-to-identify-requests.html) realizadas en nombre de sus usuarios de transferencia de archivos, `RoleSessionName` se utiliza para mostrar qué rol de IAM se asumió para atender las transferencias de archivos. También muestra información adicional, como el nombre de usuario, la identificación de sesión y la identificación del servidor utilizados para las transferencias. El formato es `[AWS:Role Unique Identifier]/username.sessionid@server-id` y está contenido en el campo Requester (Solicitante). Por ejemplo, el siguiente es el contenido de un ejemplo de campo Requester (Solicitante) de un registro de acceso de S3 para un archivo que se copió en el bucket de S3.

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

En el campo Requester (Solicitante) de arriba, se muestra el rol de IAM al que se llamó `IamRoleName`. Para obtener más información acerca del rol de los identificadores únicos de IAM, consulte [Identificadores únicos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) en la *Guía del usuario de AWS Identity and Access Management *.

# Ejemplos para limitar el problema del suplente confuso
<a name="cloudwatch-confused-deputy"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. Para obtener más información, consulte [Prevención de la sustitución confusa entre servicios](confused-deputy.md).

**nota**  
En los siguientes ejemplos, sustituya cada uno por su *user input placeholder* propia información.  
En estos ejemplos, puede eliminar los detalles del ARN de un flujo de trabajo si el servidor no tiene ningún flujo de trabajo adjunto.

El siguiente ejemplo logging/invocation de política permite que cualquier servidor (y flujo de trabajo) de la cuenta asuma la función.

****  

```
{
    "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/*"
                   ]
                }
            }
        }
    ]
}
```

El siguiente ejemplo logging/invocation de política permite que un servidor (y un flujo de trabajo) específicos asuma la función.

****  

```
{
    "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 estructura de registro para Transfer Family
<a name="cw-structure-logs"></a>

En este tema se describen los campos que se rellenan en los registros de Transfer Family: tanto para las entradas de registro estructuradas de JSON como para las entradas de registro heredadas.

**Topics**
+ [Registros estructurados en JSON para Transfer Family](#json-log-entries)
+ [Registros heredados de Transfer Family](#legacy-log-entries)

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

La siguiente tabla contiene detalles de los campos de entrada de registro para SFTP/FTP/FTPS las acciones de Transfer Family, en el nuevo formato de registro estructurado JSON.


| Campo | Descripción | Ejemplo de entrada | 
| --- |--- |--- |
| tipo de actividad | La acción del usuario | Los tipos de actividad disponibles son los siguientes:`AUTH_FAILURE`,`CONNECTED`,`DISCONNECTED`,,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,`PARTIAL_CLOSE`,,`RENAME`,`RMDIR`,`SETSTAT`,`TLS_RESUME_FAILURE`. | 
| bytes de entrada | Número de bytes cargados por el usuario | 29238420042 | 
| bytes de salida | Número de bytes descargados por el usuario | 23094032490328 | 
| ciphers | Especifica el cifrado SSH negociado para la conexión (los cifrados disponibles aparecen en) [Algoritmos criptográficos](security-policies.md#cryptographic-algorithms) | aes256-gcm@openssh.com | 
| cliente | El software cliente del usuario | SSH-2.0-OpenSSH\$17.4 | 
| directorio de inicio | El directorio en el que aterriza el usuario final cuando se conecta al punto final si su tipo de directorio principal esPATH: si tiene un directorio principal lógico, este valor siempre es / | /user-home-bucket/test | 
| kex | Especifica el intercambio de claves SSH (KEX) negociado para la conexión (los KEX disponibles aparecen en) [Algoritmos criptográficos](security-policies.md#cryptographic-algorithms) | diffie-hellman-group14-sha256 | 
| message | Proporciona más información relacionada con el error | <string> | 
| method | El método de autenticación | publickey | 
| mode | Especifica cómo un cliente abre un archivo | CREAR \$1 TRUNCAR \$1 ESCRIBIR | 
| operación | La operación del cliente en un archivo | ABRIR \$1 CERRAR | 
| path | Ruta real del archivo afectada | /amzn-s3-demo-bucket/test-file-1.pdf  | 
| ssh-public-key | El cuerpo de la clave pública del usuario que se está conectando | AAAAC3ZDI1NTE5AAAAIA9NZAC1l OY0qv6 Oi XYVHaa WAcj2sp DJVbgjrq DPY4pxd6 GnHl | 
| ssh-public-key-fingerprint | La huella digital de la clave pública, tal como se muestra en la consola para los usuarios gestionados por el servicio al enumerar sus claves de usuario.  En la consola, la huella digital se muestra con los caracteres de relleno (si los hay): de 0 a 3 signos iguales (=) al final. En la entrada del registro, este relleno se elimina de la salida.  | SHA256: BY3g NMHw tFJD4N2vut4pty /0 LOk82z WZj4 KEYEu7y4r | 
| ssh-public-key-type | Tipo de clave pública: Transfer Family admite claves con formato RSA, ECDSA y ED25519 | ssh-ed25519 | 
| resource-arn | Un identificador único asignado por el sistema para un recurso específico (por ejemplo, un servidor) |  arn:aws:transfer:ap-northeast- 1:12346789012:server/s-1234567890akeu2js2  | 
| rol | La función de IAM del usuario |  arn:aws:iam: :0293883675:role/testuser-role  | 
| id-de-sesión | Un identificador único asignado por el sistema para una sola sesión |  9ca9a0e1cec6ad9d  | 
| fuente-ip | Direcciones IP de clientes | 18.323.0.129 | 
| usuario | El nombre de usuario del usuario final | mi nombre 192 | 
| política de usuario | Los permisos especificados para el usuario final: este campo se rellena si la política del usuario es una política de sesión. | El código JSON de la política de sesión que se está utilizando | 

## Registros heredados de Transfer Family
<a name="legacy-log-entries"></a>

La siguiente tabla contiene detalles de las entradas de registro de varias acciones de Transfer Family.

**nota**  
 Estas entradas no están en el nuevo formato de registro estructurado JSON.

La siguiente tabla contiene detalles de las entradas de registro de varias acciones de Transfer Family, en el nuevo formato de registro estructurado JSON.




| Acción | Registros correspondientes en Amazon CloudWatch Logs | 
| --- | --- | 
| Errores de autenticación |  ERRORS AUTH\$1FAILURE METHOD=PublicKey User=LHR message="RSA:LFZ3R2NM k\$1B7RB1RSV AE\$1A\$1A\$1HXG0C7L1JIZ0" SourceIP=3.8.172.211 SHA256 LY4ra UIb   | 
| Flujo de trabajo de COPY/TAG/DELETE/DECRYPT |  \$1"type»:» StepStarted «, "details»: \$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», "username» :"lhr», «ID de sesión» :"1234567890abcdef0"\$1\$1  | 
| Flujo de trabajo con pasos personalizados |  \$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» :"1234abcd7" -1234-efgh-5678-ijklmnopqr90", "TransferDetails»: \$1"ServerID» :"s-zzzz1111aaaa22223", "username» :"lhr», "ID de sesión» :"1234567890abcdef0"\$1\$1  | 
| Eliminaciones |  lhr.33a8fb495ffb383b ELIMINAR Path=/bucket/user /123.jpg  | 
| Descargas |  lhr.33a8fb495ffb383b ABRE /123.jpg MODE=LEER Path=/bucket/user llhr.33a8fb495ffb383b CERRAR /123.jpg =3618546 Path=/bucket/user BytesOut  | 
| Inicio de sesión/cierre de sesión |  user.914984e553bcddb6 FUENTE CONECTADA IP = 1.22.111.222 Usuario=LHR =CLIENTE LÓGICO = SSH-2.0-opensSH\$17.4 role=arn:aws: :iam: :123456789012:role/sftp-s3-access HomeDir user.914984e553bcddb6 DISCONNECTED  | 
| Cambio de nombre |  lhr.33a8fb495ffb383b RENOMBRAR Path=/bucket/user/lambo.png NewPath=/bucket/user/ferrari .png   | 
| Ejemplo de registro de errores de flujo de trabajo |  \$1"type»:» StepErrored «, "details»: \$1"ErrorType» :"BAD\$1REQUEST», "ErrorMessage» :"No se puede etiquetar el archivo Efs», "stepType» :"TAG», "stepName» :"successful\$1tag\$1step "\$1, "WorkflowID» :"w-1234abcd5678efghi», "ExecutionID» :"81234abcdcd5678efghi», "ExecutionID» :"81234abcdcd-1234-efgh-5678-ijklmnopqr90", "TransferDetails»: \$1"ServerID» :"s-1234abcd5678efghi», "username» :"lhr», «ID de sesión» :"1234567890abcdef0"\$1\$1   | 
| Symlinks |  lhr.eb49cf7b8651e6d5 CREATE\$1SYMLINK LinkPath =/fs-12345678/lhr/pqr.jpg TargetPath =abc.jpg   | 
| Subidas |  lhr.33a8fb495ffb383b ABRE /123.jpg mode=CREAR\$1TRUNCAR\$1ESCRIBIR Path=/bucket/user lhr.33a8fb495ffb383b CERRAR /123.jpg =3618546 Path=/bucket/user BytesIn  | 
| Flujos de trabajo |  \$1"type»:» ExecutionStarted «, "details»: \$1"input»: \$1"BackingStore» :"EFS», "FileSystemID» :"fs-12345678", "path»:» /lhr/regex.py initialFileLocation «\$1\$1\$1, "WorkflowID» :"w-1111aaaa2222bbbb3", "ExecutionID» :"1234abcd-1234-efgh-56-78-78-ijklmnopqr90", "TransferDetails»: \$1"ServerID» :"s-zzzz1111aaaa22223", "username» :"lhr», "ID de sesión» :"1234567890abcdef0"\$1\$1 \$1"type»:» StepStarted «, "details»: \$1"fileLocation»: \$1"BackingStore» :"EFS», "fileSystemID» :"fs-12345678", "path»:» /lhr/regex.py «\$1\$1, "stepType» :"CUSTOM», "stepName» :"efs-s3"copy\$12"\$1, "WorkflowID» :w-9283e49d33297c3f7", "ExecutionID» :"1234abcd-1234-efgh-5678-ijklmnopqr90", "TransferDetails»: \$1"ServerID» :"s-18ca49dce5d842e0b», «username» :"lhr», "ID de sesión» :"1234567890abcdeff 0"\$1\$1  | 

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

En este tema se presentan ejemplos de entradas de registro.

**Topics**
+ [Ejemplos de entradas de registro de sesiones de transferencia](#session-log-examples)
+ [Ejemplos de entradas de registro para conectores SFTP](#example-sftp-connector-logs)
+ [Ejemplos de entradas de registro para conectores de celosía de VPC](#example-vpc-lattice-connector-logs)
+ [Ejemplos de entradas de registro para errores en el algoritmo de intercambio de claves](#example-kex-logs)

## Ejemplos de entradas de registro de sesiones de transferencia
<a name="session-log-examples"></a>

En este ejemplo, un usuario de SFTP se conecta a un servidor Transfer Family, carga un archivo y, a continuación, se desconecta de la sesión.

La siguiente entrada de registro refleja a un usuario de SFTP que se conecta a un 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"
}
```

La siguiente entrada de registro refleja al usuario de SFTP que carga un archivo en su bucket de 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"
}
```

Las siguientes entradas de registro reflejan la desconexión del usuario de SFTP de su sesión de SFTP. En primer lugar, el cliente cierra la conexión al bucket y, a continuación, desconecta la sesión de 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**  
Los tipos de actividad disponibles son los siguientes:`AUTH_FAILURE`,`CONNECTED`,,`DISCONNECTED`,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,,`PARTIAL_CLOSE`, `RENAME``RMDIR`,`SETSTAT`. `TLS_RESUME_FAILURE`

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

Esta sección contiene registros de ejemplo de una transferencia correcta y otra fallida. Los registros se generan en un grupo de registros denominado`/aws/transfer/connector-id`, donde *connector-id* se encuentra el identificador del conector SFTP. Las entradas de registro para los conectores SFTP se generan al ejecutar un comando `StartFileTransfer` o`StartDirectoryListing`.

Esta entrada de registro corresponde a una transferencia que se completó correctamente.

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

Esta entrada de registro corresponde a una transferencia cuyo tiempo de espera se agotó y, por lo tanto, no se completó correctamente.

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

Esta entrada de registro corresponde a una operación de ENVÍO que se realiza correctamente.

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

Descripciones de algunos campos clave de los ejemplos de registro anteriores.
+ `timestamp`representa cuándo se agrega el registro CloudWatch. `start-time`y `end-time` corresponden al momento en que el conector realmente inicia y finaliza una transferencia.
+ `transfer-id`es un identificador único que se asigna a cada `start-file-transfer` solicitud. Si el usuario pasa varias rutas de archivo en una sola operación de `start-file-transfer` API, todos los archivos comparten la misma ruta`transfer-id`.
+ `file-transfer-id`es un valor único generado para cada archivo transferido. Tenga en cuenta que la parte inicial de `file-transfer-id` es la misma que`transfer-id`.

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

Esta sección contiene registros de ejemplo para conectores de celosía de VPC. En el caso de los conectores VPC Lattice, los registros incluyen campos adicionales que proporcionan información sobre la configuración del conector y la configuración de la red.

Esta entrada de registro corresponde a una operación SEND del conector de celosía de VPC que se completó correctamente.

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

Los registros de conectores VPC Lattice incluyen los siguientes campos adicionales:
+ `egress-type`- Tipo de configuración de salida del conector
+ `vpc-lattice-resource-configuration-arn`- ARN de la configuración de recursos de celosía de la VPC que define la ubicación del servidor SFTP de destino
+ `vpc-lattice-port-number`- Número de puerto para conectarse al servidor SFTP a través de VPC Lattice

## Ejemplos de entradas de registro para errores en el algoritmo de intercambio de claves
<a name="example-kex-logs"></a>

Esta sección contiene registros de ejemplo en los que se produjo un error en el algoritmo de intercambio de claves (KEX). Estos son ejemplos del flujo de registros **ERRORS** para registros estructurados.

Esta entrada de registro es un ejemplo de error en el tipo de clave 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"
}
```

Esta entrada de registro es un ejemplo en el que hay una discrepancia 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"
}
```

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

**nota**  
 También puede obtener las métricas de Transfer Family desde la propia consola de Transfer Family. Para obtener más información, consulte [Monitoreo del uso en la consola](monitor-usage-transfer-console.md) 

Puede obtener información sobre su servidor mediante CloudWatch métricas. Una *métrica* representa un conjunto de puntos de datos ordenados por tiempo que se publican en. CloudWatch Al utilizar métricas, debe especificar el espacio de nombres, el nombre de la métrica y la [dimensión](#cw-dimensions) de Transfer Family. Para obtener más información sobre las métricas, consulta [Métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric) en la *Guía del CloudWatch usuario de Amazon*.

 En la siguiente tabla se describen las CloudWatch métricas de Transfer Family.

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

## Dimensiones de Transfer Family
<a name="cw-dimensions"></a>

Una *dimensión* es un name/value par que forma parte de la identidad de una métrica. Para obtener más información sobre las dimensiones, consulta [Dimensiones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension) en la *Guía del CloudWatch usuario de Amazon*.

En la siguiente tabla se describen las CloudWatch dimensiones de Transfer Family.


| Dimensión | Description (Descripción) | 
| --- | --- | 
| `ServerId` | El ID exclusivo del usuario. | 
| `ConnectorId` | El identificador único del conector. Se utiliza para AS2, para `OutboundMessage` y `OutboundFailedMessage` | 

## Utilizándolo AWS User Notifications con AWS Transfer Family
<a name="using-user-notifications"></a>

Para recibir notificaciones sobre AWS Transfer Family eventos, puedes [AWS User Notifications](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html)configurar varios canales de entrega. Recibirá una notificación cuando un evento coincida con una regla que especifique. 

Puede recibir notificaciones de eventos a través de varios canales, como correo electrónico, notificaciones por chat de [Amazon Q Developer en aplicaciones de chat](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) o notificaciones push de [AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html). También puedes ver las notificaciones en el [Centro de notificaciones de la consola](https://console.aws.amazon.com/notifications/). Notificaciones de usuario admite la agregación, lo que puede reducir la cantidad de notificaciones que recibe durante eventos específicos.

Para obtener más información, consulta la entrada de blog sobre cómo [personalizar las notificaciones de entrega de archivos mediante flujos de trabajo AWS Transfer Family gestionados](https://aws.amazon.com/blogs/storage/customize-file-delivery-notifications-using-aws-transfer-family-managed-workflows/) y [¿Qué es AWS User Notifications?](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html) en la *Guía AWS User Notifications del usuario*.

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

Puede usar CloudWatch consultas para filtrar e identificar las entradas de registro de Transfer Family. En esta sección se incluyen algunos ejemplos.

1. Inicie sesión en Consola de administración de AWS y abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Puede crear consultas o reglas.
   + Para crear una consulta de **Logs Insights**, selecciona **Logs Insights** en el panel de navegación izquierdo y, a continuación, introduce los detalles de la consulta.
   + Para crear una regla de **Contributor Insights**, selecciona Insights > Contributor Insights en el panel de navegación izquierdo y, a continuación, introduce los detalles de la regla.

1. Ejecuta la consulta o la regla que creaste.

**Vea los principales factores que contribuyen a los errores de autenticación**

En sus registros estructurados, una entrada del registro de errores de autenticación tiene un aspecto similar al siguiente:

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

Ejecuta la siguiente consulta para ver los principales factores que contribuyen a los errores de autenticación.

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

En lugar de utilizar **CloudWatch Logs Insights**, puede crear una regla de **CloudWatch Contributors Insights** para ver los errores de autenticación. Cree una regla similar a la siguiente.

```
{
    "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"
    ]
}
```

**Vea las entradas de registro en las que se abrió un archivo**

En los registros estructurados, una entrada del registro de lectura de archivos tiene un aspecto similar al siguiente:

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

Ejecuta la siguiente consulta para ver las entradas de registro que indican que se ha abierto un archivo.

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