如何在 Windows Server 上使用 CloudWatch 代理程式來檢視 Performance Monitor 的指標?

3 分的閱讀內容
0

我想在 Windows Server 上使用 Amazon CloudWatch 代理程式來取得為 Performance Monitor 收集的指標。

解決方法

若要在 Windows Server 上安裝和設定 CloudWatch 代理程式,並檢視 Windows 效能監視器的指標,請完成下列步驟。

先決條件:

  • 可存取網際網路之公用子網路上的 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 Servers 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. (選用) 若要新增可用於效能監視器的其他效能計數器,請執行下列命令:

    "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 效能監視器內,以便讓代理程式推送計數器的資料點。

  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 Servers 組態檔案的範例結構描述定義:

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

建立檔案後,將檔案複製到要安裝代理程式的其他 Windows Servers。

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

請完成下列步驟:

  1. 開啟 CloudWatch console (CloudWatch 主控台)。
  2. 在導覽窗格的 Metrics (指標) 下,選擇 All Metrics (所有指標)。
  3. Custom namespaces (自訂命名空間) 區段中,選擇 CWAgent
  4. 依 ImageID、InstanceType、instance、objectname 或 InstanceID 進行排序。

相關資訊

使用 CloudWatch 代理程式收集指標、日誌和追蹤

AWS 官方
AWS 官方已更新 10 個月前