¡Hola a todos!
Hoy quiero compartir con vosotros una guía para crear un script de Nagios que nos permitirá verificar si nuestra instancia de Nextcloud está actualizada a la última versión disponible. Mantener Nextcloud actualizado es crucial para asegurar la seguridad y el rendimiento de nuestra plataforma, y con este script automatizaremos la tarea de comprobarlo.
Creación del Script para Verificar la Versión de Nextcloud
Paso 1: Instalar Dependencias
Primero, necesitamos asegurarnos de tener curl
y jq
instalados en el servidor donde se ejecutará el script. Estos paquetes nos permitirán realizar solicitudes HTTP y procesar datos JSON, respectivamente.
sudo apt-get update sudo apt-get install curl jq -y
Paso 2: Crear el Script Bash
Ahora, vamos a crear un script llamado check_nextcloud_version.sh
. Este script comprobará la versión actual de Nextcloud instalada y la comparará con la última versión disponible en GitHub.
#!/bin/bash # Variables NEXTCLOUD_URL="https://tuURLdeNextCloud.com" # URL de tu instancia de Nextcloud CURRENT_VERSION_FILE="/var/www/nextcloud/version.php" # Ruta al archivo de versión de Nextcloud NEXTCLOUD_LATEST_RELEASE_URL="https://api.github.com/repos/nextcloud/server/releases/latest" # Obtener la última versión desde GitHub LATEST_VERSION=$(curl -s $NEXTCLOUD_LATEST_RELEASE_URL | jq -r '.tag_name' | grep -oP '\d+\.\d+\.\d+') # Obtener la versión actual instalada en Nextcloud CURRENT_VERSION=$(grep -oP "\d+\.\d+\.\d+" $CURRENT_VERSION_FILE | head -1) # Verificar si la variable LATEST_VERSION está vacía if [ -z "$LATEST_VERSION" ]; then echo "NEXTCLOUD UNKNOWN - No se pudo obtener la última versión disponible." exit 3 fi # Comparar versiones if [ "$CURRENT_VERSION" == "$LATEST_VERSION" ]; then echo "NEXTCLOUD OK - La versión actual ($CURRENT_VERSION) está actualizada." exit 0 else echo "NEXTCLOUD CRITICAL - La versión actual ($CURRENT_VERSION) no está actualizada. La última versión es $LATEST_VERSION." exit 2 fi
Guarda el script y dale permisos de ejecución:
define command{ command_name check_nextcloud_version command_line /ruta/al/script/check_nextcloud_version.sh }
Agregar el Servicio en services.cfg
:
define service{ use generic-service host_name tu_servidor service_description Nextcloud Version check_command check_nextcloud_version }
Paso 4: Reiniciar Nagios
Finalmente, reiniciamos el servicio de Nagios para aplicar los cambios:
sudo systemctl restart nagios
Con este script y la configuración en Nagios, ahora podrás monitorizar automáticamente si tu instancia de Nextcloud está actualizada. Mantener tu plataforma al día es fundamental para la seguridad y el rendimiento, y con esta solución, podrás estar al tanto de las actualizaciones de manera eficiente.
¡Espero que esta guía te sea útil! ¡Hasta la próxima!
⬇️¡Sigue, comenta y comparte! ⬇️