System Health Monitoring¶
This guide explains how to monitor, troubleshoot, and maintain the health of your Quizzical Beats installation.
Health Dashboard¶
Quizzical Beats provides a built-in health dashboard that gives you a comprehensive overview of your system:
- Log in as an administrator
- Navigate to Admin > System > Health Dashboard
- The dashboard displays:
- Database information (status, song count, round count, user count)
- Storage information (directory status, file counts, sizes)
- External service status
- Memory usage
- Version information
Health Status Cards¶
The top of the health dashboard features status cards that provide a quick overview of your system's health:
- Database: Connection status and database health
- Storage: File storage status and access permissions
- API Services: Status of external API connections
- Memory: System memory availability and usage
Each card is color-coded to indicate status: - Green: Good/healthy - Yellow: Warning/potential issues - Red: Error/critical issues
Database Monitoring¶
Database Statistics¶
The database section of the health dashboard shows:
- Total number of songs in the database
- Total number of rounds
- Total number of users
- Database file size
- Last backup timestamp
This information helps you track database growth and ensure you're performing regular backups.
Storage Monitoring¶
The storage section provides information about key directories:
- Directory name
- Number of files in each directory
- Total size of files
- Write permission status
This helps you identify potential storage issues such as: - Lack of write permissions - Unexpected growth in file count or size - Directories approaching storage limits
External Service Monitoring¶
The External Services section displays the status of integrated third-party services:
- Service name
- Connection status (Available, Warning, Unavailable)
- Status details or error messages
Services monitored may include: - Spotify API - Dropbox API - OpenAI API - Email service - Other integrated services based on your configuration
Version Information¶
The Version Information section shows:
- Application version
- Release name
- Release date
- Python version
- Operating system platform
- Flask version
This information is essential when troubleshooting issues or planning updates.
Troubleshooting Common Issues¶
Database Connection Issues¶
If the database status shows errors:
- Check database credentials in your
.envfile - Verify that the database file exists at the configured location
- Check file permissions on the database file
- Ensure there's enough disk space for database growth
Storage Issues¶
If the Storage status shows problems:
- Check directory permissions for the affected directories
- Verify that the application has write access to these directories
- Ensure sufficient disk space is available
- Check for file corruption or missing critical files
External Service Connectivity¶
If service connections are failing:
- Verify API keys and credentials in your
.envfile - Check that redirect URIs are correctly configured
- Test external connectivity to the service endpoints
- Verify SSL certificates are valid for secure connections
- Check for API rate limiting or service outages
CLI Health Checks¶
For command-line health checks, you can use:
python run.py health check
This command performs basic health checks and outputs the results to the console, which is useful for automated monitoring scripts.
Best Practices for System Health¶
- Regular Monitoring: Check the health dashboard at least weekly
- Automated Alerts: Set up external monitoring for critical services
- Preventive Maintenance: Address warning signs before they become critical
- Regular Backups: Configure automated backups and verify them regularly
- Update Management: Keep the application and dependencies up to date
- Resource Planning: Monitor growth trends to plan for future resource needs
Related Documentation¶
- Backup and Restore - For information on configuring backups
- Configuration Guide - For details on configuring external services
- Installation Guide - For system requirements and setup