Windows Server で CloudWatch エージェントを使用して、Performance Monitor のメトリクスを確認する方法を教えてください。

所要時間3分
0

Windows Server の Amazon CloudWatch エージェントを使用して、Performance Monitor について収集されたメトリクスを取得したいと考えています。

解決策

Windows サーバーに CloudWatch エージェントをインストールして設定し、Windows Performance Monitor のメトリクスを確認するには、次の手順を実行します。

前提条件:

  • インターネットにアクセスできる、パブリックサブネット上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンス。または、Amazon Virtual Private Cloud (Amazon VPC) エンドポイントにアクセスできるプライベートサブネット上の EC2 インスタンス。
  • インスタンス用の AWS Identity and Access Management (IAM) プロファイルとロール。
  • AWS Systems Manager Agent (SSM Agent)。
  • CloudWatch エージェント。

インスタンスを起動する

次の手順を実行します。

  1. インスタンスを起動します
  2. リモートデスクトッププロトコル (RDP) でインスタンスに接続します
    注: CloudWatch エージェントは、Windows Server 2016、2019、64 ビットバージョンの Windows Server 2022 をサポートしています。

CloudWatch エージェントをインストールする

CloudWatch エージェントをインストールするには、エージェントを自動または手動でダウンロードします。

CloudWatch エージェントを自動的にダウンロードする

AWS-ConfigureAWS パッケージを使用してエージェントをインストールするには、「エージェント設定を使用して EC2 インスタンスに CloudWatch エージェントをインストールする」を参照してください。

CloudWatch エージェントを手動でダウンロードする

CloudWatch エージェントを手動でダウンロードするには、次のコマンドを実行します。

Invoke-WebRequest -Uri  
 https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi  
 -OutFile $env:USERPROFILE\Downloads\amazon-cloudwatch-agent.msi   
-UseBasicParsing  
Invoke-Item $env:USERPROFILE\Downloads\amazon-cloudwatch-agent.msi

設定ファイルを作成する

.msi ファイルをダウンロードしたら、ウィザードを使用して JSON 設定ファイルを作成します。または、設定ファイルを手動で作成することもできます。

ウィザードを使用して CloudWatch 設定ファイルを作成する

  1. amazon-cloudwatch-agent-config-wizard を使用し、CloudWatch 設定ファイルを作成します
    ファイル例

    {  
       "logs": {
        "logs_collected": {
          "files": {
            "collect_list": [
              {
                "file_path": "C:\\Users\\Administrator\\Desktop\\CWMetricsLogs",
                "log_group_name": "CWMetricsLogs",
                "log_stream_name": "{instance_id}",
                "retention_in_days": -1
              }
            ]
          },
          "windows_events": {
            "collect_list": [
              {
                "event_format": "xml",
                "event_levels": [
                  "VERBOSE",
                  "INFORMATION",
                  "WARNING",
                  "ERROR",
                  "CRITICAL"
                ],
                "event_name": "CloudWatchAgent",
                "log_group_name": "CloudWatchAgent",
                "log_stream_name": "{instance_id}",
                "retention_in_days": -1
              }
            ]
          }
        }
      },
      "metrics": {
        "aggregation_dimensions": [
          [
            "InstanceId"
          ]
        ],
        "append_dimensions": {
          "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
          "ImageId": "${aws:ImageId}",
          "InstanceId": "${aws:InstanceId}",
          "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected": {
          "LogicalDisk": {
            "measurement": [
              "% Free Space"
            ],
            "metrics_collection_interval": 30,
            "resources": [
              "*"
            ]
          },
          "Memory": {
            "measurement": [
              "% Committed Bytes In Use"
            ],
            "metrics_collection_interval": 30
          },
          "Paging File": {
            "measurement": [
              "% Usage"
            ],
            "metrics_collection_interval": 30,
            "resources": [
              "*"
            ]
          },
          "PhysicalDisk": {
            "measurement": [
              "% Disk Time",
              "Disk Write Bytes/sec",
              "Disk Read Bytes/sec",
              "Disk Writes/sec",
              "Disk Reads/sec"
            ],
            "metrics_collection_interval": 30,
            "resources": [
              "*"
            ]
          },
          "Processor": {
            "measurement": [
              "% User Time",
              "% Idle Time",
              "% Interr\upt Time"
            ],
            "metrics_collection_interval": 30,
            "resources": [
              "*"
            ]
          },
          "TCPv4": {
            "measurement": [
              "Connections Established"
            ],
            "metrics_collection_interval": 30
          },
          "TCPv6": {
            "measurement": [
              "Connections Established"
            ],
            "metrics_collection_interval": 30
          },
          "statsd": {
            "metrics_aggregation_interval": 60,
            "metrics_collection_interval": 30,
            "service_address": ":8125"
          }
        }
      }
    }
  2. (オプション) Performance Monitor で使用できる他のパフォーマンスカウンターを追加するには、次のコマンドを実行します。

    "PerformanceCounter-Family(processor, logical disk, memory etc.)": {  
      "measurement": [
          "Counter-name ("%Usage, "% free space" etc.)"
        ],
      "metrics_collection_interval": 30,
      "resources": [
        "Counter Property ( "_total", "C:/" etc.)
      ]
    },

    注: 上記のコマンドでは、例の値をお使いの値で置き換えてください。また、エージェントがカウンタのデータポイントをプッシュできるように、カウンタが Windows Performance Monitor に表示されていることを確認してください。

  3. ファイルは、C:\Program Files\Amazon\AmazonCloudWatchAgent にあります。

  4. CloudWatch エージェントを起動するには、次の Windows PowerShell コマンドを実行します。

    "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json"

設定ファイルを手動で作成する

JSON ファイルを手動で作成する方法については、「CloudWatch エージェント設定ファイルを手動で作成、編集する」を参照してください。

Windows Server 用の設定ファイルのスキーマ定義の例:

installation-directory/amazon-cloudwatch-agent-schema.json

ファイルを作成したら、エージェントをインストールする他の Windows Server にファイルをコピーします。

CloudWatch の Performance Counters メトリクスを確認する

次の手順を実行します。

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインの [メトリクス] で、[EC2] を選択します。
  3. [カスタム名前空間] セクションで [CWAgent] を選択します。
  4. ImageID、InstanceID、InstanceType、instance、objectname、InstanceID のいずれかでソートします。

関連情報

CloudWatch エージェントを使用してメトリクス、ログ、トレースを収集する

AWS公式
AWS公式更新しました 5ヶ月前