¿Cómo configuro un script de estado del servidor en un VPS o servidor dedicado?

Generalidades

Si tienes un servidor VPS Dedicated, es posible que te interese conocer el estado de ese servidor sin tener que esperar en una ventana de terminal. En su lugar, puedes ejecutar un script que te envíe por correo electrónico esta información sobre el estado de tu servidor.

Funciona generando contenido HTML contiene información en tu servidor, incluyendo:

  • promedio de carga
  • uso de memoria
  • conexiones de red abiertas
  • 10 procesos de memoria principales
  • 10 procesos de CPU principales
  • resultados netstat 
  • snapshot superior de todos los procesos en ejecución

Esto solo se aplica a tu servidor web. El acceso de shell a MySQL VPS no está disponible.

Instalando un script de servidor

Esto solo se aplica a tu servidor web. El acceso de shell a MySQL VPS no está disponible:

  • Visita la URL del script. Luego puedes descargarlo en tu navegador:
    Si descargas el archivo visitando la URL, aún debes cargar el archivo a través de FTP.
  • Si puedes acceder por SSH en tu VPS, simplemente puedes ejecutar:
    [server]$ curl -s -o status.rb https://cdn.rawgit.com/watsonian/server-status-report/master/status.rb

    El script se llama status.rb, y el propio script está escrito en Ruby para aprovechar el sistema de plantillas ERB para producir el contenido HTM.

Confirmando si mailx está instalado

Una vez que hayas descargado el script correctamente, debes asegurarte de que el paquete mailx esté instalado en tu PS.

Para averiguarlo, ejecuta este comando:

[server]$ dpkg -l | grep mailx

Si ves un resultado como este:

ii  bsd-mailx        8.1.2-0.20100314cvs-1        simple mail user agent

Significa que está instalado.

Si en cambio ves un resultado como este:

rc  mailx        8.1.2-0.20050715cvs-1        A simple mail user agent

Entonces eso significa que necesitas instalarlo.

Solo puedes instalar mailx en un servidor dedicado con un usuario administrador. Esto se debe a que requiere sudo. Una vez que hayas iniciado sesión, ejecuta el siguiente comando:

[server]$ sudo apt-get install mailx

Creando un cron job

Ve el artículo Crontab para detalles sobre como crear un cron job bajo tu usuario shell. Ingresa el siguiente comando en el panel al crear el cron job:

[server]$ /usr/bin/ruby /path/to/script/status.rb | /usr/bin/mail -a "Content-type: text/html;" -s "Status Report: $HOSTNAME" "some@example.com"

Si el comando anterior no funciona, intenta modificar '/user/bin/ruby' con '/user/bin/ruby1.8'.

  • Puedes cambiar el tema a lo que quieras.
  • También puedes cambiar el correo electrónico a cualquier dirección a la que desees que se envíe el correo electrónico cron.
  • Si deseas enviar el correo electrónico a más direcciones de correo electrónico, puedes usar la marca -c y pasarle una lista de direcciones de correo electrónico separadas por comas.
  • Ejecutarlo una vez por hora probablemente no sea una mala idea, pero puedes ejecutarlo con la frecuencia que desees.

Conclusión

Si configuras todo correctamente, deberías comenzar a recibir correos electrónicos que se parezcan más o menos a este:

Server status script preview.png

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?