Amazon RDS · 5 min read · Oct 20, 2025

Configurando Opsview Con Amazon RDS

Configurando Opsview Con Amazon RDS

El sitio web oficial de Amazon dice que RDS (Servicio de Base de Datos Relacional) es “… un servicio web que facilita la configuración, operación y escalado de una base de datos relacional en la nube. Proporciona capacidad rentable y redimensionable mientras gestiona tareas de administración de bases de datos que consumen mucho tiempo, liberándote para que te concentres en tus aplicaciones y negocio.”

En otras palabras, puedes desplegar una base de datos “en la nube” a través de la consola de servicios web de Amazon, y especificar muchas variables diferentes como “clase de instancia” (¿qué tan potente debería ser?), copias de seguridad automáticas, implementación en múltiples zonas, etc. (muchas cosas interesantes para aquellos que desean asegurar alta disponibilidad y resiliencia, una preocupación principal de los apostadores en la nube).

Desplegar una nueva base de datos RDS toma muy poco. Primero (suponiendo que ya tienes una cuenta de AWS, etc.) debes navegar a la sección de RDS y hacer clic en “Lanzar una instancia de DB”, lo que proporcionará una página como la siguiente:

En nuestro ejemplo estamos usando MySQL (ya que no soportamos Oracle o Microsoft SQL Server). Después de hacer clic en “Seleccionar”, debemos ingresar nuestros “detalles de instancia de DB” como se muestra a continuación en nuestro ejemplo:

Como podemos ver arriba, hemos elegido “MySQL 5.6.12” y una clase de instancia de db.m1.medium (elección puramente arbitraria en este momento). También hemos elegido solo 10GB de almacenamiento, sin IOPS provisionados y algunos parámetros (ID de instancia, nombre de usuario y contraseña) como se muestra a continuación:

  • Identificador de instancia de DB: opsviewdbseperate
  • Nombre de usuario maestro: opsviewrw
  • Contraseña maestra: opsview123

A continuación, necesitamos elegir algunos detalles más en “Configuración adicional” como zona, puerto de base de datos, VPC (debe usar VPC si estamos usando Opsview Pro/Enterprise**), etc.

Una vez que todo esto esté hecho, tendremos una base de datos MySQL 5.6 completamente provisionada de 10GB funcionando como se muestra a continuación:

Antes de que podamos comenzar a usar esta DB, debemos permitirnos el acceso a la base de datos, así que hagamos clic en “Grupos de seguridad: predeterminado” y luego hagamos clic en la “lupa” que nos llevará a una página titulada “Detalles del grupo de seguridad”. Aquí necesitamos asegurarnos de nuestro rango CIDR, o simplemente elegir el grupo de seguridad que deseamos aplicar para permitir el acceso entrante. ¡Y eso debería ser la configuración del lado de RDS hecha!

Configurando nuestra DB RDS para Opsview

A continuación, debemos SSH en nuestro servidor Opsview y migrar la base de datos desde él a la DB RDS – siguiendo la guía de migración aquí.

Primero, debemos detener Opsview para obtener un “snapshot consistente”:

/etc/init.d/opsview stop  
/etc/init.d/opsview-web stop

A continuación, necesitamos hacer una copia de seguridad y restaurar. En el documento se indica que debemos usar mysqldump, transferirlo a nuestro host de DB y luego descomprimirlo en MySQL – pero, esto no es posible en RDS ya que no tenemos acceso a la shell del servidor subyacente – así que debemos ser un poco más inteligentes en cómo hacemos esto.

Primero, probemos que podemos iniciar sesión en la DB RDS desde Opsview:

root@opsview-master:/home/ubuntu# mysql -u opsviewrw -p -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306
Introduce la contraseña:  
Bienvenido al monitor de MySQL. Los comandos terminan con ; o \g.  
Tu ID de conexión MySQL es 141  
Versión del servidor: 5.6.12 MySQL Community Server (GPL)  
Copyright (c) 2000, 2013, Oracle y/o sus afiliados. Todos los derechos reservados.  
Oracle es una marca registrada de Oracle Corporation y/o sus afiliados. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios.  
Escribe 'help;' o '\h' para ayuda. Escribe '\c' para limpiar la declaración de entrada actual.  
mysql>

¡Se ve bien para mí! A continuación, necesitamos crear las bases de datos en la base de datos RDS – muy fácil de hacer:

create database opsview;   
create database odw;  
create database runtime;  
create database dashboard;

Esto crea nuestras 4 bases de datos requeridas. Ahora podemos salir del acceso a la shell de la DB RDS y ejecutar mysqldump en el servidor Opsview, para volcar las bases de datos y canalizar la salida en la base de datos RDS remota, como se muestra a continuación:

mysqldump -u root -p opsview | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C opsview  
mysqldump -u root -p runtime | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C runtime  
mysqldump -u root -p odw | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C odw  
mysqldump -u root -p dashboard | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C dashboard
mysqldump -u root -p opsview | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C opsview  
mysqldump -u root -p runtime | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C runtime  
mysqldump -u root -p odw | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C odw  
mysqldump -u root -p dashboard | mysql -u opsviewrw -popsview123 --host=opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306 -C dashboard

A continuación, debemos editar /usr/local/nagios/etc/opsview.conf en nuestro maestro Opsview, para apuntar a la nueva DB RDS:

root@opsview-master:/home/ubuntu# cat /usr/local/nagios/etc/opsview.conf
#
# Este archivo sobrescribe variables de opsview.defaults
# Este archivo no será sobrescrito en actualizaciones
#
$dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$odw_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$runtime_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$reports_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";
$dashboard_dbhost = "opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com";

¡Casi allí ahora! A continuación, necesitamos configurar los permisos de acceso en la base de datos RDS. Nuevamente, no podemos exportarlo a un archivo, transferir el archivo e importarlo – así que tenemos que ser ingeniosos con el canalizado:

/usr/local/nagios/bin/db_mysql -t | mysql -u opsviewrw -popsview123 -h opsviewdbseperate.ctw1cn2efche.eu-west-1.rds.amazonaws.com -P 3306

Esto obtendrá nuestras credenciales e importarlas en la DB RDS (una instantánea de cómo se ven estas credenciales está a continuación):

GRANT ALL ON opsview.* TO opsview@localhost IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E' WITH GRANT OPTION; GRANT ALL ON opsview.* TO opsview@'%' IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E' WITH GRANT OPTION; GRANT SELECT ON opsview.* TO odw@'%' IDENTIFIED BY '508E67C6-DA75-11E2-882D-94E35B00F56E';

Finalmente, necesitamos regenerar la configuración de Opsview y reiniciar el servicio web nuevamente, usando los comandos:

/usr/local/nagios/bin/rc.opsview gen_config /etc/init.d/opsview-web start

Y eso es la configuración hecha. Podemos detener el servidor MySQL que se está ejecutando localmente (service mysql stop, etc. dependiendo de tu SO) y luego iniciar sesión en Opsview para verlo funcionando en toda su gloria, ahora en almacenamiento RDS:

He usado un ejemplo como el anterior para mostrar que los datos históricos se migraron (demostrándolo), y que no hay interrupciones en los datos (sin pérdidas masivas, etc).

Reflexiones finales

Así que ese es un método rápido y simple para migrar tu DB Opsview a Amazon RDS – para permitirte mejor escalabilidad, fiabilidad y facilidad de uso para tu backend de base de datos si estás ejecutando en la nube. A continuación, echaré un vistazo a cómo ejecutar Opsview en una VPC y cómo configurarlo.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.