¿Cómo se puede utilizar el agente de CloudWatch para ver las métricas de Performance Monitor en un servidor Windows?

Actualización más reciente: 05-05-2022

Deseo utilizar el agente de Amazon CloudWatch en un servidor de Windows para obtener las métricas que se recopilan correspondientes a Performance Monitor. ¿Cómo se puede hacer?

Descripción breve

Para utilizar el agente de CloudWatch para obtener métricas relativas a Performance Monitor en un servidor Windows, es necesario:

  • Una instancia de Amazon Elastic Compute Cloud (Amazon EC2) en una subred pública (con acceso a Internet). O bien, una instancia EC2 en una subred privada (con acceso a los puntos de conexión de la VPC).
  • Un perfil y un rol de AWS Identity and Access Management (IAM) para la instancia
  • Agente de SSM
  • El agente de CloudWatch

Siga los pasos que se indican en este artículo para instalar y configurar el agente de CloudWatch en el servidor de Windows y, a continuación, ver las métricas de Performance Monitor.

Resolución

Inicie la instancia

1.    Inicie la instancia EC2 con Windows Server 2019.

2.    Una vez iniciada la instancia EC2, utilice un protocolo de escritorio remoto (RDP) para iniciar sesión en la instancia.

Instale el agente de CloudWatch

Instale el agente de CloudWatch mediante uno de estos dos métodos:

  • Utilice el documento de SSM AWS-ConfigureAWSPackage
  • Descargue manualmente el paquete de CloudWatch

Utilice el documento de SSM AWS-ConfigureAWSPackage

Para utilizar el paquete AWS-ConfigureAWS para instalar el agente, consulte Instalar el agente CloudWatch en instancias EC2 mediante la configuración de agente propia.

Descargue manualmente el agente CloudWatch

Ejecute este comando para descargar el paquete de instalación:

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

Después de descargar el archivo .msi, cree el archivo de configuración JSON mediante uno de estos métodos:

  • Utilizar el asistente del archivo de configuración del agente
  • Cree el archivo de configuración manualmente
Cree el archivo de configuración del agente CloudWatch con el asistente

1.    Siga los pasos que se indican en Crear el archivo de configuración del agente de CloudWatch con el asistente. Este es un ejemplo del archivo que genera el asistente:

{
  "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.    También puede configurar el archivo config.json del agente de CloudWatch para otros contadores de rendimiento de Windows. Este ejemplo muestra una sintaxis genérica que puede utilizar para agregar contadores de rendimiento que están disponibles en Performance Monitor. Asegúrese de que los contadores aparezcan en Windows Performance Monitor o el agente no podrá enviar ningún punto de datos correspondiente a ese contador.

"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.    Una vez que el asistente genere el archivo, podrá encontrarlo en C:\Program Files\Amazon\AmazonCloudWatchAgent. Cambie el nombre de este archivo y cópielo en esta ubicación: C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs.

4.    Inicie el agente de 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

Cree el archivo de configuración manualmente

Para obtener más información sobre cómo crear el archivo JSON manualmente, consulte Crear o editar manualmente el archivo de configuración del agente de CloudWatch.

Consulte la definición del esquema del archivo de configuración para servidores Windows:

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

Después de crear el archivo, cópielo en los otros servidores en los que desee instalar el agente.

Vea las métricas del contador de rendimiento en CloudWatch

Después de configurar e iniciar el agente de CloudWatch, consulte las métricas de los contadores de rendimiento de Windows en la consola de CloudWatch.

1.    Abra la consola de CloudWatch.

2.    En el panel de navegación, en Métricas, elija Todas las métricas.

3.    En la sección Espacios de nombres personalizados, elija CWAgent.

4. Ordenar por ImageID, InstanceID, InstanceType, instance, objectname, o por InstanceID. A continuación, las métricas se cargan y se pueden ver en la consola.