Database monitoring is the tracking of database performance and resources in order to create and maintain a high performance and highly available application infrastructure. For example, categories for SQL Server, MySQL and Oracle database monitoring include:
- Query details (top CPU, slow running, and most frequent)
- Session details (current user connections and locks)
- Scheduled jobs
- Replication details
- Database performance (buffer manager, cache, connection, lock, and latch)
Databases are at the heart of many enterprises' most critical business processes. Application complexity is on the rise and IT infrastructures are becoming far more diverse. With complex applications working across heterogeneous infrastructures, database monitoring that provides fast, accurate problem resolution is critical to helping IT troubleshoot problems before they affect end-users
Database Monitoring Design
The following outline is a list of items to take into account when implementing a database monitoring system:
How should you monitor?
- Automatically collect key database, server, and virtualization performance metrics
- Alert on performance or availability problems for both database and server components and optionally take corrective action
- Generate comprehensive reports to show database utilization and capacity issues
- Correlate database issues with end user response metrics for accurate assessment of application performance
What constitutes a problem?
- KPIs that exceed threshold values
- Alarms or alerts generated by the database
- Inability to access the database
- Poor database performance and response time
- Running out of key resources the database needs to perform properly (CPU, Memory, Storage, IO capacity)
What should you do when a problem is identified?
- Prioritize and escalate high severity alerts with text messages or email alerts
- For recurring problems build detailed notes into the alert to speed resolution
- Automate with OS commands or scripts to fix the problem if possible
What are the benefits of monitoring and tracking?
- Reduce the time and resources needed for supporting databases and the underlying IT infrastructure
- Improve end-user performance
- Improve capacity planning by determining whether issues can be resolved by upsizing database or server configurations
- Proactively troubleshoot performance problems before they reach end-users