26 votos

Manera más fácil de comprobar automáticamente EC2 espacio en disco y estar alerta si se está ejecutando bajo?

Ejecución de la AMI de Amazon Linux. Parece que CloudWatch no comprueba el espacio libre en disco. Tengo un número de servidores de e, idealmente, no quiero tener que configurar cada uno con un servidor de correo, la secuencia de comandos para comprobar el espacio en disco, etc.

Hay una forma más simple de hacer esto?

13voto

qerub Puntos 190

Amazon ofrece secuencias de comandos para esto de marzo de 2012:

Supervisión de Amazon CloudWatch secuencias de comandos para Linux: http://aws.amazon.com/code/8720044071969977

6voto

Caleb Puntos 7556

No hay ninguna forma para el control de EC2 y herramientas de monitoreo para dar estos datos porque el sistema de archivos de las instancias SÓLO es accesible por la propia instancia. Tanto la arquitectura básica del hardware y el modelo de seguridad de la demanda de esta limitación. Pensar acerca de lo malo que sería si el software fuera de su equipo podría hurgar en los archivos en sus discos duros!

Aquí está una clave baja forma de hacer cron (instalado en la mayoría de los sistemas de todos modos) comprobar los datos de tu periódicamente. Los sistemas deben contar con los requisitos mínimos para manejar root de las notificaciones de correo de todos modos. Recomiendo tener al menos un materialista de correo saliente agente y configurar el administrador o root alias para avanzar en todos los sistemas que administra. Muchos programas incluyendo cron esperar esta configuración.

Podría añadir esto a tu crontab:

0 0 * * * test $(df / | grep ^/ | awk '{print $4}') -lt 1048576 && echo "Warning: Free disk space is less than 1G on /"

Para acabar con eso, este

  • Crea un puesto de trabajo de que las runas una vez al día a las 00:00.
  • Cron se encarga automáticamente de correo electrónico al administrador del sistema con la salida de los puestos de trabajo. Este trabajo sólo se produce la salida si hay un error o si el espacio en disco es baja
  • El test comando configura un simple shell comparación con las -lt menos de operador y un valor fijo equivolent a 1 gb de espacio libre.
  • El df comando de las pruebas libres de espacio en el / sistema de archivos
  • El grep consigue solo la línea de salida que usted necesita en lugar de los encabezados df incluye.
  • El awk obtener sólo la cuarta columna de la salida, el espacio libre número.
  • El && dice que ejecutar el siguiente comando sólo si la primera (a la test x -lt y) devuelve true.

4voto

DaBeeeenster Puntos 211

Escribí un guión que tenía que comprobar varios servidores dentro de mi EC2 grupo. Se necesita un archivo con una lista de cada servidor IP/nombre de dominio en una sola línea.

#! /bin/bash

ADMIN="serveralerts@youraddress.com"
ALERT=85

for SERVER in `cat ~/scripts/servers.txt` do
ssh -i ~/.ssh/yourkey.pem $SERVER df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output;
do
echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge $ALERT ]; then
echo "Running out of space \"$partition ($usep%)\" on $SERVER as on $(date)" | 
mail -s "Alert: Almost out of disk space $usep" $ADMIN
fi
done done

0voto

Pete White Puntos 25

Yo uso este script: http://nixcraft.com/shell-scripting/3238-shell-script-check-disk-space-remote-systems.html

0voto

djangofan Puntos 2732

Cron es tu amigo. Colocar este archivo en tu /etc/cron.diario de directorio y se ejecutará una vez al día:

#!/bin/sh
# this script is /etc/cron.daily/diskAlert.cron    
ADMIN="jdoe@maildomain.com"
ALERT=90    
df -PkH | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $6 }' | while read output;
do
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
  partition=$(echo $output | awk '{print $2}' )
  if [ $usep -ge $ALERT ]; then
    echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" |
    mail -s "Alert: Almost out of disk space $usep%" $ADMIN
  fi
done

NOTA: Este script va a decir que el montado de los cd-rom están llenos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: