Quiero enviar métricas de memoria y disco desde mis instancias de Amazon Elastic Compute Cloud (Amazon EC2) a las métricas de Amazon CloudWatch.
Breve descripción
De forma predeterminada, Amazon EC2 entrega un conjunto de métricas relacionadas con tu instancia a CloudWatch en el espacio de nombres de AWS/EC2. Esto incluye el uso de la CPU y un conjunto de métricas de NetworkIn y NetworkOut.
Amazon EC2 no proporciona métricas relacionadas con el uso de la memoria a nivel del sistema operativo (SO) ni con las métricas de uso del disco. Para encontrar estas métricas y enviarlas a CloudWatch como métricas personalizadas, instala el agente de CloudWatch unificado. A continuación, define estas métricas en el archivo de configuración del agente.
Nota: AWS cobra por las métricas personalizadas según el almacenamiento y el uso de la API.
Resolución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Utiliza la AWS CLI para descargar e instalar el agente de CloudWatch manualmente. O bien, integra el agente de CloudWatch con AWS Systems Manager Agent (SSM Agent).
Nota: El agente de CloudWatch es compatible con los sistemas Windows y Linux.
Para instalar el agente de CloudWatch, sigue estos pasos:
-
Crea roles o usuarios de AWS Identity and Access Management (IAM) que concedan permisos al agente que recopila las métricas del servidor. También puedes integrarte con Systems Manager. Adjunta este rol de IAM a la instancia de EC2 en la que deseas instalar el agente.
-
Descarga e instala el paquete del agente.
-
Crea el archivo de configuración del agente de CloudWatch y, a continuación, especifica las métricas que deseas recopilar.
A continuación se muestran ejemplos de código para un archivo de configuración de agente básico que informa sobre las métricas de uso de memoria y uso de disco:
Linux
{
"metrics": {
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
]
},
"disk": {
"measurement": [
"used_percent"
],
"resources": [
"*"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
Windows
{
"metrics": {
"metrics_collected": {
"LogicalDisk": {
"measurement": [
"% Free Space"
],
"resources": [
"*"
]
},
"Memory": {
"measurement": [
"% Committed Bytes In Use"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
-
Inicia el agente en la instancia de EC2.
De forma predeterminada, el agente activo envía las métricas de la instancia al espacio de nombres CWAgent de CloudWatch. Si recibes errores, consulta Solución de problemas del agente de CloudWatch.
Información relacionada
Monitorear las instancias con CloudWatch