如何使用 CloudWatch 代理在 Windows 服务器上查看 Performance Monitor 的指标?

3 分钟阅读
0

我想在 Windows 服务器上使用 Amazon CloudWatch 代理来获取为 Performance Monitor 收集的指标。我该如何操作?

简短描述

要使用 CloudWatch 代理获取 Windows 服务器上 Performance Monitor 的指标,您需要:

  • 位于公有子网(可访问互联网)上的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。或者,私有子网(可以访问 VPC 终端节点)上的 EC2 实例。
  • 实例的 AWS Identity and Access Management (IAM) 配置文件和角色
  • SSM 代理
  • CloudWatch 代理

按照本文中的步骤在 Windows 服务器上安装和配置 CloudWatch 代理,然后查看 Performance Monitor 的指标。

解决方案

启动您的实例

1.    使用 Windows Server 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 文件。此示例显示了可用于添加 Performance Monitor 中所提供性能计数器的通用语法。请确保计数器在 Windows 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.)
  ]
},

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 控制台

2.    在导航窗格中的指标下,选择所有指标

3.    在自定义命名空间部分中,选择 CWAgent

4.按 ImageID、InstanceID、InstanceType、instance、objectname 或 InstanceID 排序。然后上传您的指标,就可以在控制台上查看它们。


相关信息

使用 CloudWatch 代理从 Amazon EC2 实例和本地服务器收集指标和日志

AWS 官方
AWS 官方已更新 2 年前