<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Dannae Quidenao Adasme</title>
    <description>The latest articles on Forem by Dannae Quidenao Adasme (@danna_devops).</description>
    <link>https://forem.com/danna_devops</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3764416%2F6815902b-0948-4780-9845-7ed4c55db0d1.jpg</url>
      <title>Forem: Dannae Quidenao Adasme</title>
      <link>https://forem.com/danna_devops</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/danna_devops"/>
    <language>en</language>
    <item>
      <title>Implementación de alarmas CloudWatch para EC2</title>
      <dc:creator>Dannae Quidenao Adasme</dc:creator>
      <pubDate>Tue, 10 Feb 2026 15:32:01 +0000</pubDate>
      <link>https://forem.com/danna_devops/implementacion-de-alarmas-cloudwatch-para-ec2-31ak</link>
      <guid>https://forem.com/danna_devops/implementacion-de-alarmas-cloudwatch-para-ec2-31ak</guid>
      <description>&lt;p&gt;Este documento describe el proceso de implementación de alarmas de monitoreo en Amazon CloudWatch para instancias EC2 Windows Server, utilizando métricas recolectadas mediante CloudWatch Agent (CWAgent).&lt;/p&gt;

&lt;p&gt;El objetivo es contar con alertas automáticas y accionables frente a problemas de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consumo elevado de memoria&lt;/li&gt;
&lt;li&gt;Uso excesivo de CPU&lt;/li&gt;
&lt;li&gt;Poco espacio en disco&lt;/li&gt;
&lt;li&gt;Saturación de disco (I/O)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Servicios AWS utilizados&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Amazon CloudWatch&lt;br&gt;
Recolección y visualización de métricas, alarmas y dashboards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AWS Systems Manager&lt;br&gt;
Ejecución remota de comandos y automatización sin acceso directo a las instancias.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;EC2 Windows Server&lt;br&gt;
Instancias administradas mediante SSM.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Prerrequisitos
&lt;/h2&gt;

&lt;p&gt;Antes de iniciar la instalación, debe verificar que sus instancias cumplan con los siguientes requisitos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instancias administradas por SSM&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;El SSM Agent se encuentra instalado y en ejecución (viene por defecto en AMI Windows oficiales).&lt;/p&gt;

&lt;p&gt;Las instancias aparecen como Managed instances en Systems Manager.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rol IAM asociado a la EC2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La instancia deben tener un IAM Role que debe incluir, como mínimo, las siguientes políticas:&lt;/p&gt;

&lt;p&gt;AmazonSSMManagedInstanceCore&lt;/p&gt;

&lt;p&gt;CloudWatchAgentServerPolicy&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63bklhoc3vrqthrtf2on.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F63bklhoc3vrqthrtf2on.png" alt=" " width="527" height="220"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw35jg4i5h18he36zb8rw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw35jg4i5h18he36zb8rw.png" alt=" " width="800" height="161"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Instalación del CloudWatch Agent
&lt;/h2&gt;

&lt;p&gt;En el servicio AWS System Manager, se debe ir a la sección Run Command, allí se selecciona una nueva ejecución.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpgyrgqkh3c6u53k0xni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpgyrgqkh3c6u53k0xni.png" alt=" " width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Documento SSM utilizado&lt;/p&gt;

&lt;p&gt;Se ejecutó el documento administrado por AWS:&lt;br&gt;
&lt;code&gt;AWS-ConfigureAWSPackage&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx286v91whdiwh56ntt0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx286v91whdiwh56ntt0f.png" alt=" " width="800" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Los parametros del comando son los siguientes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;En la lista de acción, se debe seleccionar "Install"&lt;/li&gt;
&lt;li&gt;En el tipo de instalación va la opción "Select Uninstall and reinstall" &lt;/li&gt;
&lt;li&gt;En la casilla "Nombre", indicar AmazonCloudWatchAgent&lt;/li&gt;
&lt;li&gt;En "Version" seleccionar "latest"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmboyovp23voq7nq15vng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmboyovp23voq7nq15vng.png" alt=" " width="758" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En destinos, seleccionremos las instancias a las cuales le instalaremos el agente, pueden seleccionarlas manualmente o utilizar agrupación por tag.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8joghjjtngaialm6gt75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8joghjjtngaialm6gt75.png" alt=" " width="732" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y seleccionamos "Ejecute"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jocpyaprulgg6fsg7py.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1jocpyaprulgg6fsg7py.png" alt=" " width="769" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Una vez finalizado debería mostrar estado general correcto.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5vgyrnixn509hhdz6ovm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5vgyrnixn509hhdz6ovm.png" alt=" " width="785" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Podemos verificar la instalación del agente ingresando a una de las intancias, la ruta a verificar es la siguiente &lt;br&gt;
Path: “C:\Program Files\Amazon\AmazonCloudWatchAgent&lt;/p&gt;


&lt;h2&gt;
  
  
  Configuración del agente
&lt;/h2&gt;

&lt;p&gt;Se debe ingresar a las instancias a través de RDP (Escritorio Remoto). Descargando el archivo de escritorio remoto y obteniendo la contraseña desde AWS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs12brwe36we55bybxxq1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs12brwe36we55bybxxq1.png" alt=" " width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6t7312sg95485fkgd5z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6t7312sg95485fkgd5z.png" alt=" " width="454" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se debe ejecutar &lt;strong&gt;amazon-cloudwatch-agent-config-wizard.exe&lt;/strong&gt; ejecutando el siguiente fragmento de código. El programa ejecutable se basa en menús y ofrece opciones configurables en el símbolo del sistema.&lt;/p&gt;

&lt;p&gt;Importante! Se debe ejecutar como administrador.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouafmpu222yp91pf93m8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fouafmpu222yp91pf93m8.png" alt=" " width="800" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Allí comenzarán a desplegarse las opciones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjec7svuonhx01g2opqb5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjec7svuonhx01g2opqb5.png" alt=" " width="744" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se recomienda seleccionar las siguientes opciones.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C:\Program Files\Amazon\AmazonCloudWatchAgent&amp;gt;amazon-cloudwatch-agent-config-wizard.exe
================================================================
= Welcome to the Amazon CloudWatch Agent Configuration Manager =
=                                                              =
= CloudWatch Agent allows you to collect metrics and logs from =
= your host and send them to CloudWatch. Additional CloudWatch =
= charges may apply.                                           =
================================================================
On which OS are you planning to use the agent?
1. linux
2. windows
3. darwin
default choice: [2]:
2

Trying to fetch the default region based on ec2 metadata...
Are you using EC2 or On-Premises hosts?
1. EC2
2. On-Premises
default choice: [1]:
1

Do you want to turn on StatsD daemon?
1. yes
2. no
default choice: [1]:
2 

Do you have any existing CloudWatch Log Agent configuration file to import for migration?
1. yes
2. no
default choice: [2]:
2

Do you want to monitor any host metrics? e.g. CPU, memory, etc.
1. yes
2. no
default choice: [1]:
1

Do you want to monitor cpu metrics per core?
1. yes
2. no
default choice: [1]:
1

Do you want to add ec2 dimensions (ImageId, InstanceId, InstanceType, AutoScalingGroupName) into all of your metrics if the info is available?
1. yes
2. no
default choice: [1]:
1

Do you want to aggregate ec2 dimensions (InstanceId)?
1. yes
2. no
default choice: [1]:
1

Would you like to collect your metrics at high resolution (sub-minute resolution)? This enables sub-minute resolution for all metrics, but you can customize for specific metrics in the output json file.
1. 1s
2. 10s
3. 30s
4. 60s
default choice: [4]:
4

Which default metrics config do you want?
1. Basic
2. Standard
3. Advanced
4. None
default choice: [1]:
2

Current config as follows:
{
        "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": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "Memory": {
                                "measurement": [
                                        "% Committed Bytes In Use"
                                ],
                                "metrics_collection_interval": 60
                        },
                        "Paging File": {
                                "measurement": [
                                        "% Usage"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "PhysicalDisk": {
                                "measurement": [
                                        "% Disk Time"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "Processor": {
                                "measurement": [
                                        "% User Time",
                                        "% Idle Time",
                                        "% Interrupt Time"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        }
                }
        }
}

Are you satisfied with the above config? Note: it can be manually customized after the wizard completes to add additional items.
1. yes
2. no
default choice: [1]:
1

Do you want to monitor any customized log files?
1. yes
2. no
default choice: [1]:
2     # if you are selecting 'yes', you can provide log file path accordingly.

Do you want to monitor any Windows event log?
1. yes
2. no
default choice: [1]:
2     # select '1' incase of enabling System Event Log for Windows

Saved config file to config.json successfully.
Current config as follows:
{
        "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": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "Memory": {
                                "measurement": [
                                        "% Committed Bytes In Use"
                                ],
                                "metrics_collection_interval": 60
                        },
                        "Paging File": {
                                "measurement": [
                                        "% Usage"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "PhysicalDisk": {
                                "measurement": [
                                        "% Disk Time"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        },
                        "Processor": {
                                "measurement": [
                                        "% User Time",
                                        "% Idle Time",
                                        "% Interrupt Time"
                                ],
                                "metrics_collection_interval": 60,
                                "resources": [
                                        "*"
                                ]
                        }
                }
        }
}

Please check the above content of the config.
The config file is also located at config.json.
Edit it manually if needed.

Do you want to store the config in the SSM parameter store?
1. yes
2. no
default choice: [1]:
1   # Storing configuration in SSM is a good practice for centralized access

What parameter store name do you want to use to store your config? (Use 'AmazonCloudWatch-' prefix if you use our managed AWS policy)
default choice: [AmazonCloudWatch-windows]
AmazonCloudWatch-windows

Trying to fetch the default region based on ec2 metadata...
Which region do you want to store the config in the parameter store?
default choice: [us-east-1]
us-east-1

Which AWS credential should be used to send json config to parameter store?
1. YOUR ACCESS KEY ID(From SDK)
2. Other
default choice: [1]:
YOUR ACCESS KEY ID

Successfully put config to parameter store AmazonCloudWatch-windows.
Please press Enter to exit...

Program exits now.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verificamos las configuraciones abriendo el almacén de parámetros (AmazonCloudWatch-windows) desde SSM (AWS Systems Manager &amp;gt; Parameter Store).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbs24iciug7sevgvkh1ma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbs24iciug7sevgvkh1ma.png" alt=" " width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Inicie el agente de CloudWatch mediante Systems Manager
&lt;/h2&gt;

&lt;p&gt;En el servicio System Manager, seleccione Ejecutar comando .&lt;br&gt;
En la lista de documentos de Comando, se debe seleccionar AmazonCloudWatch-ManageAgent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fle790gq6yzhehwkmlaff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fle790gq6yzhehwkmlaff.png" alt=" " width="800" height="390"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Los parametros del comando serían los siguientes.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;En la lista Action , seleccione "Configure".&lt;/li&gt;
&lt;li&gt;En la sección Mode, se debe indicar "ec2".&lt;/li&gt;
&lt;li&gt;En la lista Optional Configuration Source, seleccione "ssm".&lt;/li&gt;
&lt;li&gt;En el cuadro Optional Configuration Location, introduzca el nombre del archivo de configuración del agente que se creó en el paso anterior y guardó en el almacén de parámetros de Systems Manager.&lt;/li&gt;
&lt;li&gt;En la lista Reinicio opcional , seleccione "Sí" para iniciar el agente una vez finalizados estos pasos.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28onh9f1jpn2xzp1me1w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F28onh9f1jpn2xzp1me1w.png" alt=" " width="762" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En el área Destinos , elija las instancias donde instaló el agente de CloudWatch.&lt;/p&gt;

&lt;p&gt;Seleccione Ejecutar y asegúrese de que se ejecute correctamente.&lt;/p&gt;


&lt;h2&gt;
  
  
  Verifique las métricas obtenidas por el agente de CloudWatch
&lt;/h2&gt;

&lt;p&gt;Inicie sesión en el servidor de Windows&lt;/p&gt;

&lt;p&gt;Utilice la sesión de PowerShell para ejecutar los siguientes comandos y verificar la configuración del agente de CloudWatch:&lt;/p&gt;

&lt;p&gt;Para comprobar si el Agente de CloudWatch se está ejecutando, ejecute el comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Get-Service -Name "AmazonCloudWatchAgent"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Asegúrese de que el servicio del Agente de CloudWatch esté en estado "En ejecución".&lt;/p&gt;

&lt;p&gt;Asegúrese de que las métricas y los grupos de registros esperados aparezcan en la consola de CloudWatch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmrksxye1po99hyklnja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmrksxye1po99hyklnja.png" alt=" " width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Configuración de Alarmas
&lt;/h2&gt;

&lt;p&gt;Para la configuración de las alarmas, utilizaremos Powershell, es importante que en el equipo se tengan configuradas las credenciales en AWS CLI, si no no funcionará.&lt;/p&gt;

&lt;p&gt;Primero definiremos dos variables.&lt;br&gt;
Para poder definir la variable SNS_ARN debes tener ya creado un tema en Amazon SNS, en este caso yo cree uno con nombre EC2-critical.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1zen7dm10m7x2oiuzzr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs1zen7dm10m7x2oiuzzr.png" alt=" " width="800" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Definimos nuestras variables en PowerShell&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$REGION = "us-east-1"
$SNS_ARN = "arn:aws:sns:us-east-1:IDCUENTAAWS:EC2-critical"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Luego definimos la lista de instancias en PowerShell, indicando primero el ID y nombre, separado por dos puntos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$INSTANCIAS = @(
  "i-05aaaaaaaaaaaaaaa:NOMBREINSTANCIAEC2",
  "i-03aaaaaaaaaaaaaaa:NOMBREINSTANCIAEC2",
  "i-0eaaaaaaaaaaaaaaa:NOMBREINSTANCIAEC2",
  "i-05aaaaaaaaaaaaaaa:NOMBREINSTANCIAEC2",
  "i-03aaaaaaaaaaaaaaa:NOMBREINSTANCIAEC2"
)

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Validamos las variables&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$REGION
$SNS_ARN
$INSTANCIAS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y ejecutamos el siguiente script&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;foreach ($ITEM in $INSTANCIAS) {

  $PARTES = $ITEM.Split(":")
  $INSTANCE_ID = $PARTES[0]
  $NOMBRE = $PARTES[1]

  Write-Host "Creando alarmas para $NOMBRE ($INSTANCE_ID)"

  # MEMORIA ALTA
  aws cloudwatch put-metric-alarm `
    --alarm-name "Memoria alta - $NOMBRE" `
    --alarm-description "ALERTA CRÍTICA - MEMORIA`n`nServidor: $NOMBRE`nSistema: Windows Server`nMétrica: Memory % Committed Bytes In Use`nUmbral: &amp;gt;= 90%`nEvaluación: 2 periodos de 5 minutos`n`nImpacto:`nPosible degradación severa del sistema.`n`nAcción recomendada:`n- Revisar procesos con alto consumo de RAM`n- Validar uso de archivo de paginación`n- Considerar aumento de memoria" `
    --namespace "CWAgent" `
    --metric-name "Memory % Committed Bytes In Use" `
    --dimensions Name=InstanceId,Value=$INSTANCE_ID `
    --statistic Average `
    --period 300 `
    --evaluation-periods 2 `
    --threshold 90 `
    --comparison-operator GreaterThanOrEqualToThreshold `
    --treat-missing-data notBreaching `
    --alarm-actions $SNS_ARN `
    --region $REGION

  # POCO ESPACIO EN DISCO
  aws cloudwatch put-metric-alarm `
    --alarm-name "Poco espacio en disco - $NOMBRE" `
    --alarm-description "ALERTA CRÍTICA - DISCO`n`nServidor: $NOMBRE`nSistema: Windows Server`nMétrica: LogicalDisk % Free Space`nUmbral: &amp;lt;= 10%`nEvaluación: 1 periodo de 5 minutos`n`nImpacto:`nRiesgo de detención de servicios.`n`nAcción recomendada:`n- Liberar espacio`n- Revisar logs`n- Evaluar expansión del volumen" `
    --namespace "CWAgent" `
    --metric-name "LogicalDisk % Free Space" `
    --dimensions Name=InstanceId,Value=$INSTANCE_ID `
    --statistic Average `
    --period 300 `
    --evaluation-periods 1 `
    --threshold 10 `
    --comparison-operator LessThanOrEqualToThreshold `
    --treat-missing-data notBreaching `
    --alarm-actions $SNS_ARN `
    --region $REGION

  # CPU ALTA
  aws cloudwatch put-metric-alarm `
    --alarm-name "CPU alta - $NOMBRE" `
    --alarm-description "ALERTA CRÍTICA - CPU`n`nServidor: $NOMBRE`nSistema: Windows Server`nMétrica: Processor % User Time`nUmbral: &amp;gt;= 90%`nEvaluación: 2 periodos de 5 minutos`n`nImpacto:`nConsumo elevado de CPU sostenido.`n`nAcción recomendada:`n- Revisar procesos`n- Revisar tareas programadas`n- Evaluar escalamiento" `
    --namespace "CWAgent" `
    --metric-name "Processor % User Time" `
    --dimensions Name=InstanceId,Value=$INSTANCE_ID `
    --statistic Average `
    --period 300 `
    --evaluation-periods 2 `
    --threshold 90 `
    --comparison-operator GreaterThanOrEqualToThreshold `
    --treat-missing-data notBreaching `
    --alarm-actions $SNS_ARN `
    --region $REGION
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y podemos verificar la creación de alarmas a través del panel de CloudWatch, "Todas las alarmas."&lt;/p&gt;

&lt;p&gt;Puedes personalizar los comandos para cambiar, nombre, mensaje que se envia, umbral, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctpc3qkehezaeahxphd8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctpc3qkehezaeahxphd8.png" alt=" " width="800" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>monitoring</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
