

# Monitoreo de un Elastic Fabric Adapter en Amazon EC2
<a name="efa-working-monitor"></a>

Puede utilizar las siguientes características para monitorizar el rendimiento de sus Elastic Fabric Adapters.

**Topics**
+ [Métricas de controladores de EFA para una instancia de Amazon EC2](#efa-driver-metrics)
+ [Registros de flujo de Amazon VPC](#efa-flowlog)
+ [Amazon CloudWatch](#efa-cloudwatch)

## Métricas de controladores de EFA para una instancia de Amazon EC2
<a name="efa-driver-metrics"></a>

El controlador de Elastic Fabric Adapter (EFA) publica varias métricas de las instancias que tienen interfaces de EFA conectadas, en tiempo real. Puede utilizar estas métricas para solucionar problemas de rendimiento y redes de las aplicaciones, seleccionar el tamaño adecuado de clúster para una carga de trabajo, planificar actividades de escalado de manera proactiva y realizar pruebas de rendimiento en aplicaciones para determinar si aprovechan al máximo el rendimiento de EFA disponible en una instancia.

**Topics**
+ [Métricas del controlador de EFA disponibles](#available-efa-metrics)
+ [Recuperación de las métricas del controlador de EFA para su instancia](#view-efa-driver-metrics)

### Métricas del controlador de EFA disponibles
<a name="available-efa-metrics"></a>

El controlador de EFA publica las siguientes métricas a la instancia en tiempo real. Estas métricas proporcionan el número acumulado de errores, eventos de conexión y paquetes o bytes enviados, recibidos, retransmitidos o descartados por los dispositivos de EFA conectados desde el lanzamiento de la instancia o el último reinicio del controlador.


| Métrica | Descripción | Tipos de instancias admitidas | 
| --- | --- | --- | 
| tx\_bytes | El número de bytes que se transmiten.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| rx\_bytes | El número de bytes recibidos.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| tx\_pkts | El número de paquetes que se transmiten.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rx\_pkts | El número de paquetes recibidos.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rx\_drops | El número de paquetes que fueron recibidos y luego descartados.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| send\_bytes | El número de bytes enviados mediante operaciones de envío.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| recv\_bytes | El número de bytes recibidos mediante operaciones de envío.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| send\_wrs | El número de paquetes enviados mediante operaciones de envío.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| recv\_wrs | El número de paquetes recibidos mediante operaciones de envío.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rdma\_write\_wrs | El número de operaciones de escritura rdma completadas.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rdma\_read\_wrs | El número de operaciones de lectura rdma completadas.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rdma\_write\_bytes | El número de bytes escritos en él por otras instancias mediante operaciones de escritura rdma.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| rdma\_read\_bytes | El número de bytes recibidos mediante operaciones de lectura rdma.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| rdma\_write\_wr\_err | El número de operaciones de escritura rdma que tuvieron errores locales o remotos.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rdma\_read\_wr\_err | El número de operaciones de lectura rdma que tuvieron errores locales o remotos.<br />Unidad: recuento | Todos los tipos de instancias compatibles con EFA | 
| rdma\_read\_resp\_bytes | El número de bytes enviados en respuesta a operaciones de lectura de rdma.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| rdma\_write\_recv\_bytes | El número de bytes recibidos mediante operaciones de escritura rdma.<br />Unidades: bytes | Todos los tipos de instancias compatibles con EFA | 
| retrans\_bytes | El número de bytes SRD de EFA retransmitidos.<br />Unidad: recuento | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| retrans\_pkts | El número de paquetes SRD de EFA retransmitidos.<br />Unidades: bytes | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| retrans\_timeout\_events | El número de veces que se agotó el tiempo de espera del tráfico SRD de EFA y se produjo un cambio en la ruta de la red.<br />Unidad: recuento | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| impaired\_remote\_conn\_events | El número de veces que las conexiones SRD de EFA estuvieron dañadas, lo que produjo un límite de tasa de rendimiento reducido.<br />Unidad: recuento | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 
| unresponsive\_remote\_events | El número de veces que una conexión remota SRD de EFA no respondió.<br />Unidad: recuento | Tipos de instancia Nitro v4 y posteriores compatibles con EFA | 

Para obtener más información sobre los tipos de instancia compatibles con EFA, consulte [Tipos de instancias admitidas](efa.md#efa-instance-types).

### Recuperación de las métricas del controlador de EFA para su instancia
<a name="view-efa-driver-metrics"></a>

Puede usar la herramienta de línea de comandos [rdma-tool](https://man7.org/linux/man-pages/man8/rdma.8.html) para recuperar las métricas de todas las interfaces de EFA conectadas a una instancia de la siguiente manera:

```
$ rdma -p statistic show
link rdmap0s31/1 
    tx_bytes 0 
    tx_pkts 0 
    rx_bytes 0 
    rx_pkts 0 
    rx_drops 0 
    send_bytes 0 
    send_wrs 0 
    recv_bytes 0 
    recv_wrs 0 
    rdma_read_wrs 0 
    rdma_read_bytes 0 
    rdma_read_wr_err 0 
    rdma_read_resp_bytes 0 
    rdma_write_wrs 0 
    rdma_write_bytes 0 
    rdma_write_wr_err 0
    retrans_bytes 0
    retrans_pkts 0
    retrans_timeout_events 0
    unresponsive_remote_events 0
    impaired_remote_conn_events 0
```

Como alternativa, puede recuperar las métricas de cada interfaz de EFA adjunta a una instancia desde los archivos sys mediante el siguiente comando.

```
$ more /sys/class/infiniband/{{device_number}}/ports/{{port_number}}/hw_counters/* | cat
```

Por ejemplo

```
$ more /sys/class/infiniband/rdmap0s31/ports/1/hw_counters/* | cat
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/lifespan
::::::::::::::
12
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_resp_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_read_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wr_err
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rdma_write_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/recv_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_drops
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/rx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/send_wrs
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_bytes
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/tx_pkts
::::::::::::::
0
::::::::::::::
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_bytes
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_pkts
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/retrans_timeout_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/unresponsive_remote_events
::::::::::::::
0
/sys/class/infiniband/rdmap0s31/ports/1/hw_counters/impaired_remote_conn_events
::::::::::::::
0
```

## Registros de flujo de Amazon VPC
<a name="efa-flowlog"></a>

Puede crear un registro de flujo de Amazon VPC para capturar información acerca el tráfico entrante y saliente de un EFA. Los datos del registro de flujo se pueden publicar en Amazon CloudWatch Logs y Amazon S3. Una vez creado un registro de flujo, puede recuperarlo y ver sus datos en el destino elegido. Para obtener más información, consulte [Registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) en la *Guía del usuario de Amazon VPC*.

Un registro de flujo para un EFA se crea de la misma manera que se crea un registro de flujo para una interfaz de red elástica. Para obtener más información, consulte [Creación de un registro de flujo](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-flow-logs.html#create-flow-log) en la *Guía del usuario de Amazon VPC*.

En las entradas de registro de flujo, el tráfico de EFA se identifica mediante `srcAddress` y `destAddress` que tienen formato de direcciones MAC, tal como se muestra en el ejemplo siguiente.

```
version accountId  eniId        srcAddress        destAddress       sourcePort destPort protocol packets bytes start      end        action log-status
2       3794735123 eni-10000001 01:23:45:67:89:ab 05:23:45:67:89:ab -          -        -        9       5689  1521232534 1524512343 ACCEPT OK
```

## Amazon CloudWatch
<a name="efa-cloudwatch"></a>

Si utiliza EFA en un clúster de Amazon EKS, puede supervisar los EFA a través de la información de contenedores de CloudWatch. Información de contenedores de Amazon CloudWatch admite todas las [métricas del controlador de EFA](#efa-driver-metrics), excepto: `retrans_bytes`, `retrans_pkts`, `retrans_timeout_events`, `unresponsive_remote_events` y `impaired_remote_conn_events`.

Para obtener más información, consulte [Métricas de información de contenedores de Kubernetes y de Amazon EKS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-enhanced-EKS.html#Container-Insights-metrics-EFA) en la *Guía del usuario de Amazon CloudWatch*.