1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2 + CloudWatch サーバのディスク使用率をモニタリングする方法

Last updated at Posted at 2025-02-27

はじめに

この記事はEC2+CloudWatchでEC2のディスク使用率をモニタリングする方法について記述します。

環境

OS: AmazonLinux2023

EC2のディスク使用率をモニタリングするためにはCloudWatchのメトリクス中でも「カスタムメトリクス」使用する必要があります。以下は設定完了までの全体の流れです。

image.png

メトリクスって何?

メトリクスとは?

システムの状態を数値で表したデータです。主にパフォーマンスのモニタリングや分析のために使用され、時間の経過に伴って収集されたデータにの推移を把握することができます。

メトリクスの種類

種類 説明
標準メトリクス AWSサービスがデフォルトで提供するメトリクス EC2のCPU使用率、RDSのディスクI/Oなど
カスタムメトリクス ユーザーが自分で定義して収集するメトリクス ディスク使用率、リクエスト応答時間、メモリ使用率など

作業フロー

  1. CloudWatch Agent設定
  2. IAM Role作成
  3. EC2のIAM Role設定
  4. CloudWatchのアラート設定

CloudWatch Agent設定

CloudWatch Agentインストール

カスタムメトリクスをCloudWatchに提供するためにはCloudWatch Agentが必要です。
EC2にCloudWatch Agentを入れましょう。

EC2.AmazonLinux2023
sudo yum install amazon-cloudwatch-agent

amazon-cloudwatch-agent.json設定

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
{
  "metrics": {
    "metrics_collected": {
      "disk": {
        "measurement": [
          "used_percent"
        ],
        "resources": [
          "/"
        ],
        "ignore_file_system_types": [
          "sysfs", "tmpfs"
        ]
      }
    }
  }
}

resourcesはモニタリングしたいディレクトリを設定します。
今回はルートディレクトリを設定しました。

amazon-cloudwatch-agent.json設定を適用する

EC2.AmazonLinux2023
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
-a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s

amazon-cloudwatch-agent.service再起動

EC2.AmazonLinux2023
sudo systemctl restart amazon-cloudwatch-agent.service

amazon-cloudwatch-agent.service状態確認

EC2.AmazonLinux2023
sudo systemctl status amazon-cloudwatch-agent.service

image.png

これでEC2側からCloudWatchにディスク容量のデータを送れるようになりました!

ログを見て動作を確認する

EC2がCloudWatchにアクセスできるようにIAM Role設定をしないと、EC2からスタムメトリクスのデータを提供することができません。

以下はエラーログです。

/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
status code: 404, request id:
2025-02-27T08:32:42Z W! cloudwatch: 1665 retries, going to sleep 41008 ms before retrying.
2025-02-27T08:33:23Z E! cloudwatch: WriteToCloudWatch failure, err:  NoCredentialProviders: no valid providers in chain
caused by: EnvAccessKeyNotFound: failed to find credentials in the environment.
SharedCredsLoad: failed to load profile, .
EC2RoleRequestError: no EC2 instance role found
caused by: EC2MetadataError: failed to make EC2Metadata request

IAM Role設定

// TODO: 今後追記する

EC2のIAM Role設定

// TODO: 今後追記する

CloudWatchのアラート設定

// TODO: 今後追記する

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?