¡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!
Seguro que esto te interesa
