Amazon EC2 で Elastic Fabric Adapter をモニタリングする
Elastic Fabric Adapter のパフォーマンスをモニタリングするには、次の機能を使用できます。
Amazon EC2 インスタンスの EFA ドライバーメトリクス
Elastic Fabric Adapter (EFA) ドライバーは、EFA インターフェイスがアタッチされているインスタンスから複数のメトリクスを発行します。このようなメトリクスを使用して、アプリケーションパフォーマンスの問題のトラブルシューティング、ワークロードに適したクラスターサイズの選択、スケーリングアクティビティの事前計画、およびアプリケーションのベンチマークにより、メトリクスがインスタンスで利用できる EFA パフォーマンスを最大化するかどうかを判断できます。
使用可能な EFA ドライバーメトリクス
EFA ドライバーは、次のメトリクスをリアルタイムでインスタンスに発行します。これらは、インスタンスの起動または最後のドライバーのリセット以降にアタッチされた EFA デバイスによって送信、受信、またはドロップされたエラーとパケットまたはバイトの累積数を提供します。
メトリクス | 説明 |
---|---|
tx_bytes |
送信されたバイト数。 単位: バイト |
rx_bytes |
受信バイトの数。 単位: バイト |
tx_pkts |
送信されたパケットの数。 単位: 個 |
rx_pkts |
受信されたパケットの数。 単位: 個 |
rx_drops |
受信後にドロップされたパケットの数。 単位: 個 |
send_bytes |
送信オペレーションを使用して送信されたバイト数。 単位: バイト |
recv_bytes |
送信オペレーションによって受信されたバイト数。 単位: バイト |
send_wrs |
送信オペレーションを使用して送信されたパケットの数。 単位: 個 |
recv_wrs |
送信オペレーションによって受信されたパケットの数。 単位: 個 |
rdma_write_wrs |
完了した rdma 書き込みオペレーションの数。 単位: 個 |
rdma_read_wrs |
完了した rdma 読み取りオペレーションの数。 単位: 個 |
rdma_write_bytes |
rdma 書き込みオペレーションを使用して他のインスタンスによって書き込まれたバイト数。 単位: バイト |
rdma_read_bytes |
rdma 読み取りオペレーションを使用して受信したバイト数。 単位: バイト |
rdma_write_wr_err |
ローカルエラーまたはリモートエラーが発生した rdma 書き込みオペレーションの数。 単位: 個 |
rdma_read_wr_err |
ローカルエラーまたはリモートエラーが発生した rdma 読み取りオペレーションの数。 単位: 個 |
rdma_read_resp_bytes |
rdma 読み取りオペレーションに応答して送信されたバイト数。 単位: バイト |
rdma_write_recv_bytes |
rdma 書き込みオペレーションによって受信されたバイト数。 単位: バイト |
インスタンスの EFA ドライバーメトリクスを取得する
rdma-tool
$
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
または、次のコマンドを使用して、インスタンスにアタッチされた各 EFA インターフェイスのメトリクスを sys ファイルから取得することもできます。
$
more /sys/class/infiniband/device_number
/ports/port_number
/hw_counters/* | cat
例
$
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
Amazon VPC フローログ
Amazon VPC フローログを作成することで、EFA との間で送受信されるトラフィックに関する情報を取得できます。フローログデータは Amazon CloudWatch Logs と Amazon S3 に発行できます。フローログを作成したら、選択した送信先でそのデータを取得して表示できます。詳細については、Amazon VPC ユーザーガイドのVPC フローログを参照してください。
EFA のフローログを作成する方法は、Elastic Network Interface のフローログを作成する場合と同じです。詳細については、「Amazon VPC ユーザーガイド」の「フローログの作成」を参照してください。
フローログエントリで、EFA エントリは、srcAddress
および destAddress
で識別されます。次の例に示されているように、これらはいずれも MAC アドレス形式になります。
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
Amazon EKS クラスターで EFA を使用している場合は、CloudWatch Container Insights を使用して EFA をモニタリングできます。詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon ECS と Kubernetes のコンテナインサイトメトリクス」を参照してください。