Logwatch para monitorear los logs del servidor

Habrán visto que en su server todo es logueado (accessos por ssh, estadísticas de apache, actualizaciones, etc) pero se hace muy dificil, por no decir imposible, leer esos logs diariamente para asegurarnos que todo anda bien en nuestro sistema. 

Por suerte existen herramientas como logwatch, que nos hacen un resumen de los logs del sistema y nos lo envían por email. Vamos a ver como lo dejamos configurado.

Configurar vhosts en nginx

Como ya comenté en el pasado, para este sitio (y otros en el mismo server) estoy utilizando Apache para servir el PHP en el puerto 8080 y al frente un nginx como reverse proxy, que redirecciona las peticiones PHP al Apache y sirve los archivos estáticos, utilizando el prótocolo http2.

Entonces vamos a ver como configurar los vhosts en ambos servers para poder servir más de un sitio desde la misma VM.

Deploys automáticos usando GIT

Por lo general utilizo git para control de versión, y siempre es útil tener alguna forma de que el deploy al server se haga automáticamente una vez que los cambios son pusheados a master, en lugar de tener que conectarme al server, actualizar repo (git pull) y recién ahi ver los cambios (sobre todo si es más de un server el que hay que deployar).

Hay varias herramientas para lograr esto, desde las más completas de Integración Continua (Jenkins, Travis), hasta otras más específicas (por ejemplo Magallanes, para PHP) pero hoy me voy a enfocar en una solución no tan "empresarial" sino algo más simple, usando solamente git. Es bastante sencillo de setear y la idea es hacer un push desde nuestro entorno de desarrollo y que el contenido impacte en el server.

Monitorear server con Uptime Robot

Siempre nos interesa (o nos debería interesar) que nuestro sitio esté disponible todo el tiempo posible. Una gran opción para monitorear la disponibilidad es Uptime Robot.

Este servicio tiene varias cosas muy buenas, que vamos a analizar en detalle hoy: es gratis hasta para 50 monitores, permite monitorear http(s), ping, un puerto específico y hasta por keyword, integración con email, slack y SMS.

Usar MXroute para los mails con dominio propio

En la búsqueda de un servicio que me de la posibilidad de tener mi propio dominio ([email protected], por ejemplo) busqué entre varias opciones. Las que eran gratis no me terminaban de convencer, y las pagas me resultaban muy caras o restrictivas para el uso que yo le quería dar.

Asi es como llegué a MXroute, un servicio que a simple vista parecería similar a un shared hosting (de hecho usan cPanel y explican por qué), pero exclusivamente para email, con la posibilidad de agregar todos nuestros dominios y tantas casillas como creamos conveniente, el único límite es el espacio en disco, que varía dependiendo del plan contratado.

Configurar Linode Longview

Una de las herramientas más útiles que tiene Linode (y una de las razones más importantes por las que me decidí a usarlo en lugar de otras VPS de 5 dólares) es Longview.

Longview es un agente que se instala en nuestro server y nos va a proveer métricas muy útiles para monitoreo y diagnóstico de problemas, a las cuales vamos a acceder directamente desde el panel de Linode.

La instalación es muy simple, solo necesitamos acceder a nuestro server por SSH para instalar el agente y modificar algunos archivos.

Usar megatools para hacer backups

Siempre es bueno tener algún backup para estar protejidos ante eventuales fallas que nos podrían costar los datos de nuestro sitio.

Lo ideal es utilizar una herramienta de versionado para nuestro código, pero si sos como yo, no te gusta agregar la DB a git, ya que estamos hablando de datos de un server, no del código en si.

La mayoría de los hosting actuales ofrecen servicios de backup, pero vamos a utilizar, además, nuestra cuenta de mega para guardar ahi los DB de nuestra DB.