top of page
執筆者の写真Yasunori Nekota

Cloudwatchで EC2 の 帯域情報を確認したい



やりたい事

Cloudwatch 上で EC2上サーバーに負荷かけ、どの程度の帯域が発生しているか統計情報を出力するための方法を調べました。 Cloudwatch の agentを利用することで ethtool のカスタムメトリックスを表示することが出来ます。

Agentのインストール

CloudWatch Agentのインストール

CloudWatchをインストールしていない場合、下記をインストールします。

sudo yum install amazon-cloudwatch-agent

Amazon Linux2を利用しており下記でウィザードを実行しテンプレートを作成する下記でウィザードを実行しテンプレートを作成できます。詳細まで設定可能ですが、今回は記載の項目以外はデフォルトで回答しました。

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

※ 変更した回答

Do you want to monitor any log files?
1. yes
2. no
default choice: [1]:
2

Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
2

wizardで作成したJSONファイルは下記に出力されます /opt/aws/amazon-cloudwatch-agent/bin/config.json `bw_in_allowance_exceeded` 等を追加したいので、collectd に ethtool のカスタムメトリックスを追加する



    "ethtool":
    {
        "interface_include":
        [
            "eth0"
        ],
        "metrics_include":
        [
            "rx_packets",
            "tx_packets",
            "bw_in_allowance_exceeded",
            "bw_out_allowance_exceeded",
            "conntrack_allowance_exceeded",
            "linklocal_allowance_exceeded",
            "pps_allowance_exceeded"
        ]
    }

最終的な JSONファイルは下記になります。この内容を /opt/aws/amazon-cloudwatch-agent/bin/config.json に反映します。


{
    "agent":
    {
        "metrics_collection_interval": 60,
        "run_as_user": "root"
    },
    "metrics":
    {
        "aggregation_dimensions":
        [
            [
                "InstanceId"
            ]
        ],
        "append_dimensions":
        {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected":
        {
            "collectd":
            {
                "metrics_aggregation_interval": 60
            },
            "disk":
            {
                "measurement":
                [
                    "used_percent"
                ],
                "metrics_collection_interval": 60,
                "resources":
                [
                    "*"
                ]
            },
            "mem":
            {
                "measurement":
                [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 60
            },
            "statsd":
            {
                "metrics_aggregation_interval": 60,
                "metrics_collection_interval": 10,
                "service_address": ":8125"
            },
            "ethtool":
            {
                "interface_include":
                [
                    "eth0"
                ],
                "metrics_include":
                [
                    "rx_packets",
                    "tx_packets",
                    "bw_in_allowance_exceeded",
                    "bw_out_allowance_exceeded",
                    "conntrack_allowance_exceeded",
                    "linklocal_allowance_exceeded",
                    "pps_allowance_exceeded"
                ]
            }
        }
    }
}

scpを利用する場合は下記で実行可能です。


scp ./config.json <Copy先Host>:/opt/aws/amazon-cloudwatch-agent/bin/config.json

IAMロール設定

EC2のIAMロールに必要な下記 Policy をアタッチします。 * CloudWatchAgentServerPolicy


Agentの実行
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

カスタムメトリックスの動作確認

実際に動作するか負荷をかけてみます。iperfコマンドを利用するのが簡単です。


iperfのインストール

yum -y install iperf

サーバー側

sudo iperf -s -p 30000

クライアント側

iperf -c <サーバーIP> -p 30000 --parallel 40 -i 1 -t 2

参考




閲覧数:497回1件のコメント

最新記事

すべて表示

1 comentário


yonep24989
13 de jul.

Дружище, как круто, что ты создал такую классную и актуальную тематику, сейчас очень важно общаться и обсуждать новости. С тем учётом, что новости стали всё больше и больше преобладать в нашей жизни, то нужно и читать их на качественном новостном портале. Это предоставит доступ к проверенной и актуальной информации, я к примеру пользуюсь таким информационным порталом. Благодаря ему, я с лёгкостью узнаю все новости, особенно финансовые, такие как новости инвестиций и стартапов https://delo.ua/ru/finance/investiciyi-ta-startapi-de-i-yak-znajti-investora-dlya-vdalogo-rozvitku-433124/, что даёт мне более качественное понимание того, что именно происходит в этой сфере деятельности. Таким образом, благодаря качественному новостному порталу, я всегда нахожусь в информационном ресурсе, что в свою очередь позволяет мне быть более объективным к восприятию новостей и событий.

Curtir
bottom of page