Como sabe, Amazon AWS es una gran plataforma para desarrollar una infraestructura en la nube. Supuestamente cubre todos los aspectos que se necesitan para una infraestructura de TI completa. Con Amazon AWS, puede implementar servidores virtuales, CDN, monitoreo, mejora del rendimiento, escalado según demanda, almacenamiento a bajo costo, Big Data, etc.
El enfoque de hoy es la interacción entre instancias de servidores virtuales (Amazon EC2) y el servicio de monitoreo de servidores Cloud Watch.
Cloudwatch es una gran herramienta que ofrece una gran cantidad de parámetros listos para usar, pero una función que falta es que no hay ningún parámetro que le permita monitorear la cantidad de espacio libre que queda en una partición de su instancia.
Hoy le mostraré cómo implementar esta verificación de una manera fácil y configurar una alarma cuando el espacio libre descienda por debajo de un nivel predefinido.
Usaré una instancia EC2 basada en Ubuntu aquí.
Instalación y configuración de Cloud Watch
Primero, inicie sesión en la instancia que desea comenzar a monitorear e instale las posibles actualizaciones pendientes de la siguiente manera:
apt-get update
apt-get upgrade
Luego instalamos algunas bibliotecas necesarias para el script que luego usamos:
apt-get install libwww-perl libdatetime-perl
Ahora pasamos por el proceso de instalación del script de Cloudwatch:
cd /opt/
wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
cd aws-scripts-mon
A continuación, debemos configurar el archivo de configuración para habilitar la autenticación en la infraestructura de AWS:
cp awscreds.template awscreds.conf
En primer lugar, debe obtener su clave de acceso y la clave secreta de la consola de Amazon AWS. Si no sabe dónde recuperar estos parámetros, siga estos pasos:después de iniciar sesión en la consola de Amazon AWS, vaya a Servicios -> Todos los servicios de AWS -> IAM o simplemente acceda a este enlace https://console.aws.amazon.com /iam/casa.
Ahora ve a:
- Usuarios - Seleccione el usuario deseado - Haga clic en Acciones del usuario - Administrar claves de acceso - Crear clave de acceso
¡¡ATENCIÓN!!:Su clave secreta ya no estará disponible a través de la Consola de Administración de AWS, usted tendrá la única copia!!
Ahora tenemos que editar el archivo awscreds.conf para agregar nuestras credenciales.
nano awscreds.conf
En el archivo, agregamos estos parámetros:
AWSAccessKeyId=XXXXXXXXXXXXXXX AWSSecretKey=YYYYYYYYYYYYYYYYYY
Ahora guarda y sal (ctrl+o).
Configurar el monitor de espacio en disco
En el siguiente paso, configuramos el cronjob para actualizar las estadísticas de uso del sistema de archivos. En mi ejemplo, configuré una verificación cada 5 minutos, puede cambiar este parámetro a su gusto.
nano /etc/cron.d/cloudwatch-monitor
Y agrega el siguiente código
*/5 * * * * root /opt/aws-scripts-mon/mon-put-instance-data.pl --disk-space-avail --disk-path=/ --disk-path=/var --from-cron chmod +x /etc/cron.d/cloudwatch-monitor /etc/init.d/cron restart
En mi caso, monitorearé el sistema de archivos raíz (/) y un segundo disco para /var
Ahora que todo está configurado en nuestra instancia, lo último que debemos hacer es agregar el monitor en AWS.
Inicie sesión en la consola de AWS y vaya a Servicios -> Todos los servicios de AWS -> CloudWatch -> Métricas -> Métricas del sistema Linux, si el cronjob funciona correctamente, debería ver dos nuevas métricas con el nombre de métrica "DiskSpaceAvailabe", una para / y uno para /var.
Ahora puede crear una alarma, simplemente seleccionando la nueva métrica.