CloudWatch 에이전트를 사용하여 Windows 서버의 성능 모니터에 대한 지표를 보려면 어떻게 해야 합니까?

4분 분량
0

Windows 서버에서 Amazon CloudWatch 에이전트를 사용하여 성능 모니터에 대해 수집되는 지표를 가져오고 싶습니다. 어떻게 해야 합니까?

간략한 설명

CloudWatch 에이전트를 사용하여 Windows 서버의 성능 모니터에 대한 지표를 가져오려면 다음이 필요합니다.

  • 퍼블릭 서브넷의 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스(인터넷에 액세스 가능). 또는 프라이빗 서브넷의 EC2 인스턴스(VPC 엔드포인트에 액세스 가능).
  • 인스턴스에 대한 AWS Identity and Access Management(IAM) 프로파일 및 역할
  • SSM Agent
  • CloudWatch 에이전트

이 문서의 단계에 따라 Windows 서버에 CloudWatch 에이전트를 설치 및 구성한 다음, 성능 모니터에 대한 지표를 확인합니다.

해결 방법

인스턴스 시작

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 파일을 구성할 수도 있습니다. 이 예에서는 성능 모니터에서 사용할 수 있는 성능 카운터를 추가하는 데 사용할 수 있는 일반 구문을 보여 줍니다. 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 콘솔을 엽니다.

2.    탐색 창의 **지표(Metrics)**에서 **모든 지표(All Metrics)**를 선택합니다.

3.    사용자 지정 네임스페이스(Custom namespaces) 섹션에서 CWAgent를 선택합니다.

  1. ImageID, InstanceID, InstanceType, instance, objectname 또는 InstanceID를 기준으로 정렬합니다. 그러면 지표가 업로드되고 콘솔에서 확인할 수 있습니다.

관련 정보

CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버로부터 지표 및 로그 수집

AWS 공식
AWS 공식업데이트됨 2년 전