如何使用 CloudWatch 代理程式,檢視 Windows 伺服器上的效能監控指標?

上次更新日期:2022 年 5 月 5 日

我想要在 Windows 伺服器上,使用 Amazon CloudWatch 代理程式,來取得針對效能監控所收集的指標。該如何進行?

簡短描述

若要使用 CloudWatch 代理程式取得 Windows 伺服器上效能監控的指標,您需要:

  • 公有子網路上的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體 (可存取網際網路)。或者,私有子網路上的 EC2 執行個體 (可存取 VPC 端點)。
  • 執行個體 AWS Identity and Access Management (IAM) 描述檔和角色
  • SSM 代理程式
  • CloudWatch 代理程式

請按照本文中的步驟,在 Windows 伺服器上安裝和設定 CloudWatch 代理程式,然後檢視效能監控的指標。

解析度

啟動您的執行個體

1.    使用 Windows 伺服器 2019 來啟動您的 EC2 執行個體。

2.    啟動 EC2 執行個體後,請使用遠端桌面通訊協定 (RDP) 登入執行個體

安裝 CloudWatch 代理程式

使用下列兩種方法之一,來安裝 CloudWatch 代理程式:

  • 使用 SSM 文件 AWS-ConfigureAWSPackage
  • 手動下載 CloudWatch 套件

使用 SSM 文件 AWS-ConfigureAWSPackage

若要使用 AWS-ConfigureAWS 套件安裝代理程式,請參閱使用您的代理程式組態在 EC2 執行個體上安裝 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.    依照使用精靈建立 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",
          "% Interrupt 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.    您也可以為其他 Windows 效能計數器設定 CloudWatch 代理程式 config.json 檔案。此範例顯示的是一般語法,您可以用來新增可用於效能監控中的效能計數器。請確認計數器顯示於 Windows 效能監控中,否則代理程式無法為該計數器推送任何資料點。

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

3.    精靈生成檔案後,您可以在 C:\Program Files\Amazon\AmazonCloudWatchAgent 中找到檔案。重新命名此檔案,然後將其複製至下列位置:C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs

4.    啟動 CloudWatch 代理程式:

Once the file has been put in the CloudWatchAgent Configs, Start the cloudWatch Agent Service with
.\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m EC2 -c file:$env:USERPROFILE\config.json -s

手動建立組態檔案

如需有關手動建立 JSON 檔案的詳細資訊,請參閱手動建立或編輯 CloudWatch 代理程式組態檔案

檢視 Windows 伺服器組態檔案的結構定義:

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

建立檔案後,請將其複製至您想安裝的代理程式的其他伺服器中。

檢視 CloudWatch 中的效能計數器指標

設定並啟動 CloudWatch 代理程式後,請在 CloudWatch 主控台中檢視 Windows 效能計數器指標。

1.    開啟 CloudWatch console (CloudWatch 主控台)。

2.    從導覽窗格的 Metrics (指標) 下,選擇 All Metrics (所有指標)。

3.    從 Custom namespaces (自訂命名空間) 區段中,選擇 CWAgent

4.依 ImageID、InstanceID、InstanceType、執行個體、objectname 或依 InstanceID 排序。然後上傳您的指標,即可在控制台上查看它們。