Database Details View

The Database Details View provides a comprehensive interface for monitoring and managing the databases connected to the system. It is divided into several sections, each serving a specific purpose to assist administrators in managing database instances effectively. Database Details View

Top Bar: Summary of Key Database Metrics

The top bar presents an overview of the key metrics across all databases connected to the system. It includes:
  • CPU Usage: Displays the maximum CPU utilization percentage among the databases.
  • Available RAM: Shows the maximum amount of available RAM for the connected databases.
  • Connections: Shows the maximum number of active connections across databases.
  • Duration: Shows the maximum session duration.
  • Users: Displays the number of active users for the database with the highest activity.
  • Locks: Indicates the number of database locks on the most utilized database.
  • Databases: Displays the total number of databases in the system.
  • Hosts: Shows the number of hosts running databases.
  • IOPS (Input/Output Operations Per Second): Displays the IOPS for the database under the highest load.
This bar gives a quick snapshot of overall system performance. Database Details View

Configured Databases Table

The table presents all the currently configured databases along with the following details for each:
  • DB Identifier: The unique identifier or name of the database.
  • Engine: The database engine in use (e.g., MySQL).
  • Engine Version: The version of the database engine.
  • Size: The instance size of the database (e.g., db.t3.medium).
  • Cluster Identifier: If applicable, shows the identifier for the database cluster.
  • Status: The current status of the database (e.g., available, stopped).
  • Has Rapydo: Displays whether Rapydo, the system’s monitoring tool, is installed on the database (Yes/No).
Administrators can use this table to monitor all the databases currently connected to the system and assess their state. Database Details View

Configuration View: Database Connections

This section allows administrators to connect new databases to the system. It presents the list of databases that are available for connection and those that are already configured. Administrators can check off the databases they want to add to the system. This view also enables administrators to review and update the list of databases being actively monitored, ensuring that the system always has the latest database connections. Database Details View

Configuration Modal: Database Authentication

When adding new databases to the system, the Configuration Modal prompts the user to provide their Amazon RDS credentials. This includes:
  • Username: The admin or master username for the database.
  • Password: The corresponding password for the database.
These credentials are encrypted and used solely for configuring new databases in the system. The modal ensures secure integration of new databases by verifying authentication details before they are added to the system. Database Details View

Deployment Process

When you click “Deploy Rapydo” and provide your RDS credentials, the following setup occurs automatically based on your database engine:

PostgreSQL Setup

sql
-- 1. Create dedicated monitoring user
CREATE USER rapydo_admin WITH PASSWORD '[secure_generated_password]' INHERIT;

-- 2. Grant comprehensive monitoring privileges
GRANT rds_superuser, pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables 
TO rapydo_admin;

-- 3. Enable query statistics tracking
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;

MySQL Setup

sql
-- 1. Create dedicated monitoring user
CREATE USER 'rapydo_monitor'@'%' IDENTIFIED BY '[secure_generated_password]';

-- 2. Grant monitoring privileges
GRANT PROCESS, EXECUTE, SELECT ON *.* TO 'rapydo_monitor'@'%';

-- 3. Apply changes
FLUSH PRIVILEGES;

Required Privileges Explained

PostgreSQL Privileges

  • rds_superuser View all user sessions in pg_stat_activity, not just monitoring user’s own sessions
  • pg_monitor Access to all pg_stat_* views for performance monitoring
  • pg_read_all_settings Read database configuration for optimization recommendations
  • pg_read_all_stats Access to detailed database statistics
  • pg_stat_scan_tables Analyze table sizes and storage usage

MySQL Privileges

  • PROCESS Required - View all user sessions in SHOW PROCESSLIST
  • SELECT Read performance schema tables and system statistics
  • EXECUTE Run RDS procedures like mysql.rds_kill_query() and mysql.rds_kill() for query termination.

Security Notes

  • Credentials are encrypted and used only for initial setup
  • Read-only monitoring - no data modification capabilities
  • Dedicated user - isolated from your application users
  • Minimal required access - only what’s needed for database monitoring
Your master credentials are never stored and are only used during this one-time setup process.