Monitoreo · 2 min read · Oct 18, 2025
Monitoreo de OpenStack Swift con Opsview
Monitoreo de OpenStack Swift con Opsview
Como punto de partida, realizaremos una verificación de ‘puerta de entrada’, ya que esto debería funcionar sin importar qué implementación de Swift estés utilizando.
Ten en cuenta que estamos utilizando la versión de autenticación 2.0 con Keystone en lugar de tempauth.
Lo siguiente asume que ya tienes configurados y en funcionamiento tanto el servidor Opsview como el almacenamiento de objetos OpenStack (Swift).
Tareas de configuración previas
La máquina que ejecuta la verificación necesita tener un cliente Swift y un agente Opsview. Si planeas monitorear desde un servidor proxy de Swift, solo necesitarás este último; si planeas ejecutar las verificaciones desde tu servidor Opsview, entonces necesitarás el primero.
Instalando el cliente Swift
Esto depende de tener Python instalado; obtén el código fuente de:
https://github.com/openstack/python-swiftclient.git
https://github.com/openstack/python-keystoneclient.git
sudo python setup.py install(por ambos)
Instalando el Agente Opsview en Ubuntu
echo "deb http://downloads.opsview.com/opsview-core/latest/apt precise
main" > /etc/apt/sources.list.d/opsview-core.list
apt-get update
apt-get install opsview-agentObteniendo la verificación
Los detalles del plugin están aquí:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/check_swift/details
El enlace de descarga directa:
http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3589&cf_id=30
Coloca esto en /usr/local/nagios/libexec (en el Agente Opsview) y haz que el archivo sea ejecutable (
chmod +x check_swift) y propiedad de nagios (
chmod nagios:nagios check_swift).
Variables de entorno
Si aún no tienes configuradas las variables de entorno ST_AUTH (inquilino), ST_USER y ST_KEY, entonces es posible que desees modificar la verificación en consecuencia (según el siguiente diff):
diff check_swift.orig check_swift52c52
< export OS_AUTH_URL=$OPTARG
> export ST_AUTH=$OPTARG
55c55
< export OS_USERNAME=$OPTARG
---
> export ST_USER=$OPTARG
58c58
< export OS_PASSWORD=$OPTARG
---
> export ST_KEY=$OPTARGConfigurando NRPE
Aunque podrías ejecutar la verificación desde tu servidor Opsview (si instalas el cliente Swift), es más probable que se ejecute en un Agente Opsview a través de NRPE.
Por lo tanto, necesitamos agregar un comando de verificación de servicio a la configuración de NRPE en el Agente Opsview:
echo "command[check_swift]=/usr/local/nagios/libexec/check_swift \$ARG1\$" >> /usr/local/nagios/etc/nrpe_local/override.cfg
/etc/init.d/opsview-agent restartConfigurando la verificación
En tu servidor Opsview, necesitarás definir una nueva Verificación de Servicio; la Figura 1 muestra un ejemplo completado.
Figura 1 – Definición de verificación de servicio
Si te gusta copiar y pegar, los argumentos para check_nrpe son:
-H \$HOSTADDRESS\$ -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container'Sustituye los valores según corresponda o sobrepásalos a nivel de host.
La verificación en acción
La Figura 2 muestra la vista a nivel de host de la verificación de servicio (ten en cuenta que parece estar ignorando el valor -c container).
Figura 2 – Resultados de la verificación de servicio
Ahí lo tienes, monitoreo básico rápido y fácil de OpenStack Swift.
Solución de problemas
Si no funciona, primero verifica que puedes realizar una carga utilizando el cliente swift:
swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete upload
container check_swiftLa segunda prueba es verificar que el plugin de Nagios devuelve un código de salida cero:
check_swift -V 2 -U admin:admin -A http://127.0.0.1:5000/v2.0/ -K secrete
-c container
echo \$?Ten en cuenta que el plugin redirige la salida a /dev/null, por lo que es posible que necesites ajustar una copia del script para que puedas ver los mensajes de error de swift si este paso falla.
Por último, prueba NRPE:
check_nrpe -H localhost -c check_swift -a '-V 2 -U admin:admin -A
http://127.0.0.1:5000/v2.0/ -K secrete -c container -s 128'Publicado por: Brian King
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.