

# ネットワークパフォーマンスメトリクスの収集
<a name="CloudWatch-Agent-network-performance"></a>

Elastic Network Adapter (ENA) を使用する Linux で実行されている EC2 インスタンスは、ネットワークパフォーマンスメトリクスを発行します。バージョン 1.246396.0 以降の CloudWatch エージェントでは、これらのネットワークパフォーマンスメトリクスを CloudWatch にインポートできます。これらのネットワークパフォーマンスメトリクスを CloudWatch にインポートすると、CloudWatch カスタムメトリクスとして課金されます。

ENA ドライバーの詳細については、「[Linux インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html)」および「[Windows インスタンスにおける Elastic Network Adapter (ENA) を使用した拡張ネットワーキングの有効化](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html)」をご参照ください。

ネットワークパフォーマンスメトリクスの収集の設定方法は、Linux サーバーと Windows サーバーで異なります。

以下の表では、ENA アダプターによって有効化されたこれらのネットワークパフォーマンスメトリクスを示しています。CloudWatch エージェントがこれらのメトリクスを Linux インスタンスから CloudWatch にインポートすると、これらの各メトリクス名の先頭に `ethtool_` が付加されます。


| メトリクス | 説明 | 
| --- | --- | 
|  Linux サーバー上の名前: `bw_in_allowance_exceeded` Windows サーバー上の名前: `Aggregate inbound BW allowance exceeded`  |  インバウンド集計の帯域幅がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](#CloudWatch-Agent-network-performance) を参照してください。 単位: なし  | 
|   Linux サーバー上の名前: `bw_out_allowance_exceeded` Windows サーバー上の名前: `Aggregate outbound BW allowance exceeded` |  アウトバウンド集計の帯域幅がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](#CloudWatch-Agent-network-performance) を参照してください。 単位: なし  | 
|  Linux サーバー上の名前: `conntrack_allowance_available` Windows サーバー上の名前: `Available connection tracking allowance` |  そのインスタンスタイプの Connections Tracked 許容量に達する前にインスタンスが確立できる接続トラッキング数をレポートします。このメトリクスは、バージョン 2.8.1 以降の Elastic Network Adapter (ENA) 用の Linux ドライバーを使用する Nitro ベースの EC2 インスタンス、およびバージョン 2.6.0 以降の Elastic Network Adapter (ENA) 用の Windows ドライバーを使用するコンピュータでのみ使用できます。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](#CloudWatch-Agent-network-performance) を参照してください。 単位: なし  | 
|  Linux サーバー上の名前: `ena_srd_mode` Windows サーバー上の名前: `ena srd mode` |  ENA Express のどの機能が有効になっているかを説明します。ENA Express の詳細については、「[Linux インスタンスで ENA Express を使用してネットワークパフォーマンスを向上させる](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html)」を参照してください。値は次のとおりです。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Linux サーバー上の名前: `ena_srd_eligible_tx_pkts` Windows サーバー上の名前: `ena srd eligible tx pkts` |  一定期間内に送信された AWS Scalable Reliable Datagram (SRD) の資格要件を満たすネットワークパケットの数。次のようになります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Linux サーバー上の名前: `ena_srd_tx_pkts` Windows サーバー上の名前: `ena srd tx pkts` |  一定期間内に送信した SRD パケット数。  | 
|  Linux サーバー上の名前: `ena_srd_rx_pkts` Windows サーバー上の名前: `ena srd rx pkts` |  一定期間内に受信した SRD パケット数。  | 
|  Linux サーバー上の名前: `ena_srd_resource_utilization` Windows サーバー上の名前: `ena srd resource utilization` |  インスタンスが消費した同時 SRD 接続の最大許容メモリ使用量の割合。  | 
|  Linux サーバー上の名前: `linklocal_allowance_exceeded` Windows サーバー上の名前: `Link local packet rate allowance exceeded`  |  ローカルプロキシサービスへのトラフィックの PPS がネットワークインターフェイスの最大値を超えたためにドロップされたパケットの数。これは、DNS サービス、インスタンスメタデータサービス、および Amazon Time Sync Service へのトラフィックに影響しますが、カスタム DNS レゾルバへのトラフィックには影響しません。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](#CloudWatch-Agent-network-performance) を参照してください。 単位: なし  | 
|  Linux サーバー上の名前: `pps_allowance_exceeded` Windows サーバー上の名前: `PPS allowance exceeded` |  双方向 PPS がインスタンスの最大値を超えたために、キューおよび (または) ドロップされたパケットの数。 このメトリクスは、CloudWatch エージェント設定ファイルの `ethtool` セクションの `metrics_collected` サブセクションにリストされている場合にのみ収集されます。詳細については、[ネットワークパフォーマンスメトリクスの収集](#CloudWatch-Agent-network-performance) を参照してください。 単位: なし  | 

## Linux の設定
<a name="CloudWatch-Agent-network-performance-Linux"></a>

Linux サーバーでは、*ethtool プラグイン*を使用すると、ネットワークパフォーマンスメトリクスを CloudWatch にインポートできます。

ethtool は、Linux サーバー上のイーサネットデバイスに関する統計を収集できる標準の Linux ユーティリティです。収集される統計情報は、ネットワークデバイスとドライバーによって異なります。これらの統計情報の例には、`tx_cnt`、`rx_bytes`、`tx_errors`、`align_errors` などがあります。CloudWatch エージェントで ethtool プラグインを使用する場合、このセクションで前述した EC2 ネットワークパフォーマンスメトリクスとともに、これらの統計を CloudWatch にインポートすることもできます。

**ヒント**  
オペレーティングシステムとネットワークデバイスで利用可能な統計を確認するには、`ethtool –S` コマンドを使用します。

CloudWatch エージェントがメトリクスを CloudWatch にインポートすると、インポートされたすべてのメトリクスの名前に `ethtool_` プレフィックスが追加されます。したがって、標準の ethtool 統計 `rx_bytes` は CloudWatch で `ethtool_rx_bytes` として呼び出され、EC2 ネットワークパフォーマンスメトリクス `bw_in_allowance_exceeded` は CloudWatch で `ethtool_bw_in_allowance_exceeded` として呼び出されます。

Linux サーバーで ethtool メトリクスをインポートするには、CloudWatch エージェント設定ファイルの `ethtool` セクションに `metrics_collected` セクションを追加します。`ethtool` セクションでは、次のサブセクションを含めることができます。
+ **interface\$1include** – このセクションを含めると、エージェントは、このセクションにリストされている名前を持つインターフェイスからのみメトリクスを収集します。このセクションを省略すると、`interface_exclude` にリストされていないすべてのイーサネットインターフェイスからメトリクスが収集されます。

  デフォルトのイーサネットインターフェイスは `eth0` です。
+ **interface\$1exclude** – このセクションを含める場合は、メトリクスを収集しないイーサネットインターフェイスをリストします。

  ethtool プラグインは、常にループバックインターフェイスを無視します。
+ **metrics\$1include** – このセクションには、CloudWatch にインポートするメトリクスがリストされます。ethtool によって収集された標準統計情報と、Amazon EC2 高解像度ネットワークメトリクスの両方を含めることができます。

以下の例では、CloudWatch エージェント設定ファイルの一部が表示されています。この設定では、インターフェイスから標準の ethtool メトリクス `rx_packets` および `tx_packets`、ならびに `eth1` インターフェイスのみから Amazon EC2 ネットワークパフォーマンスメトリクスが収集されます。

CloudWatch エージェント設定ファイルの詳細については、「[CloudWatch エージェント設定ファイルを手動で作成または編集する](CloudWatch-Agent-Configuration-File-Details.md)」を参照してください。

```
{
"metrics": {
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "ethtool": {
        "interface_include": [
          "eth1"
        ],
        "metrics_include": [
          "bw_in_allowance_exceeded",
          "bw_out_allowance_exceeded",
          "conntrack_allowance_exceeded",
          "linklocal_allowance_exceeded",
          "pps_allowance_exceeded"
         ]
      }
   }
}
}
```

## Windows セットアップ
<a name="CloudWatch-Agent-network-performance-Windows"></a>

Windows サーバーでは、ネットワークパフォーマンスメトリクスは、CloudWatch エージェントが既にメトリクスを収集している Windows パフォーマンスカウンターから入手できます。そのため、Windows サーバーからこれらのメトリックを収集するのにプラグインは必要ありません。

次は、Windows からネットワークパフォーマンスメトリクスを収集するためのサンプル設定ファイルです。CloudWatch エージェント設定ファイルの編集の詳細については、「[CloudWatch エージェント設定ファイルを手動で作成または編集する](CloudWatch-Agent-Configuration-File-Details.md)」を参照してください。

```
{
    "metrics": {
        "append_dimensions": {
            "InstanceId": "${aws:InstanceId}"
        },
        "metrics_collected": {
            "ENA Packets Shaping": {
                "measurement": [
                    "Aggregate inbound BW allowance exceeded",
                    "Aggregate outbound BW allowance exceeded",
                    "Connection tracking allowance exceeded",
                    "Link local packet rate allowance exceeded",
                    "PPS allowance exceeded"
                ],
                "metrics_collection_interval": 60,
                "resources": [
                    "*"
                ]
            }
        }
    }
}
```

## ネットワークパフォーマンスメトリクスの表示
<a name="CloudWatch-view-ENA-metrics"></a>

ネットワークパフォーマンスメトリクスを CloudWatch にインポートした後、これらのメトリクスを時系列グラフとして表示し、これらのメトリクスをモニターリングし、指定したしきい値に違反した場合に通知できるアラームを作成できます。以下の手順では、ethtool メトリクスを時系列グラフとして表示する方法を示します。アラームの設定の詳細については、「[Amazon CloudWatch でのアラームの使用](CloudWatch_Alarms.md)」を参照してください。

これらのメトリクスはすべて集計カウンターであるため、`RATE(METRICS())` などの CloudWatch メトリクス数学関数を使用して、これらのメトリクスのレートをグラフで計算したり、アラームを設定したりできます。メトリクス数学関数の詳細については、「[CloudWatch メトリクスでの数式の使用](using-metric-math.md)」を参照してください。

**ネットワークパフォーマンスメトリクスを CloudWatch コンソールに表示するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで [**Metrics (メトリクス)**] を選択してください。

1. エージェントによって収集されたメトリクスの名前空間を選択します。デフォルトでは、これは **CWAgent** ですが、CloudWatch エージェント設定ファイルで別の名前空間を指定している場合があります。

1. メトリクスのディメンション (例: **インスタンス別メトリクス**) を選択します。

1. [**All metrics**] タブには、名前空間内のそのディメンションのメトリクスがすべて表示されます。以下の操作を行うことができます。

   1. メトリクスをグラフ表示するには、メトリクスの横にあるチェックボックスを選択します。すべてのメトリクスを選択するには、テーブルの見出し行にあるチェックボックスを選択します。

   1. テーブルを並べ替えるには、列見出しを使用します。

   1. リソースでフィルタするには、リソース ID を選択し、[**Add to search**] (検索に追加) を選択します。

   1. メトリクスでフィルターするには、メトリクス名を選択し、**[Add to search]** (検索に追加) を選択します。

1. (オプション) このグラフを CloudWatch ダッシュボードに追加するには、[**Actions**] (アクション)、[**Add to dashboard**] (ダッシュボードに追加) の順に選択します。