Community Blog
Get the latest updates on the Splunk Community, including member experiences, product education, events, and more!

Splunk Database Monitoring

CaitlinHalla
Splunk Employee
Splunk Employee

If you missed the introduction of the Splunk Database Monitoring capability in Splunk Observability Cloud, you can check out our blog post on how to Resolve Database Performance Issues Faster with Splunk Database Monitoring. In this post, we’ll go into more detail and show you more examples of what you can do with the feature.

At a glance, Database Monitoring provides detailed database performance visibility and helps identify and resolve slow or inefficient queries, correlate application or infrastructure issues with specific queries, and accelerate fixes or optimizations with AI-powered recommendations.

Let’s check out some key Database Monitoring features like query statistics and analytics, and infrastructure and application correlation.

Note: Database Monitoring currently only supports Microsoft SQL Server, PostgreSQL, or Oracle Database with additional engines coming soon. Additionally, your Splunk Observability Cloud realm must be us0, us1, eu0, or eu2. Support for other DBMS products and realms is planned for future releases.

Database Monitoring Overview

We can access Database Monitoring from the Splunk Observability Cloud home page by selecting APM from the left sidebar, and then selecting Overview under the Database monitoring section:

CaitlinHalla_0-1770993150424.png

This will take us to the Database Monitoring Overview page, where we get information about all monitored databases. The timeline view at the top of the page shows the top 5 instances currently sorted by the default of total duration in seconds. We also get a sortable and searchable table overview of database instances with data about instance type, ID, name, number of executions, total duration, average duration, and total CPU time:

CaitlinHalla_1-1770993150460.png

Analyze database instances

From this overview, we can analyze critical information about the performance of our database instances. For example, we can easily figure out which of our databases aren’t performing optimally when it comes to query execution time.

To start, we can change the time range for the selected instance overview to the last 2 days in the dropdown underneath the Database Monitoring Overview header, so now the data we’re seeing is scoped to the last 2 days:

CaitlinHalla_2-1770993150497.png

We can select a single instance to narrow down the chart representation by a single instance but instead let’s go down to the table overview and sort by the average duration by selecting the table header Avg. duration. This will sort the table rows in descending order from highest average duration to lowest:

CaitlinHalla_3-1770993150529.png

This immediately tells us which database instances have the highest duration for its queries, and we can quickly see there’s a huge increase in the average duration between those first two instances in the table. The top instance is taking an average of 31 seconds to complete queries compared to 70 milliseconds for that instance in the second row.

We can then dig deeper by clicking into that top instance. This will bring us to the queries page filtered specifically to the selected instance so we can quickly find the slowest and most resource intensive queries:

CaitlinHalla_4-1770993150563.png

The chart at the top of the page that shows an aggregate of active database sessions. But we’re looking for which query has the highest average duration.

If we scroll down to the query table, we can again, sort these scoped queries by highest average duration by selecting the Avg. duration table header to ensure results are sorted in descending order by average query duration:

CaitlinHalla_5-1770993150600.png

From these results, we can see two queries that take quite a bit of time to execute. Let’s look into that first query by selecting it. This will bring up additional query-specific details, like the query itself:

CaitlinHalla_6-1770993150630.png

We also get execution plan details with a visualization of the how the database engine executes each SQL query so we can pinpoint the highest-cost operations:

CaitlinHalla_7-1770993150634.png

We also get query-specific metrics like active session count, execution count, and total duration:

CaitlinHalla_8-1770993150664.png

Query samples help us understand how often this statement is executed and which client or users are running it:

CaitlinHalla_9-1770993150695.png

And correlated traces show us all traces related to the selected query:

CaitlinHalla_10-1770993150721.png

Selecting any one of the hyperlinked traces will take us directly to the trace waterfall in APM so we can quickly get insight into the applications or services executing specific queries:

CaitlinHalla_11-1770993150739.png

Infrastructure and Query Metrics

Back in the Database Monitoring overview for our selected database instance, we can dig into the infrastructure a bit more by selecting the SQL Server instance tab. From here, we can see an overview of SQL Server metrics like connection counts, the number of databases that exist in this instance, and context around overall database health:

CaitlinHalla_12-1770993150760.png

We can also see query samples for a broader view of all queries, their frequency, and originating sources:

CaitlinHalla_13-1770993150788.png

Query metrics across all the queries for this database instance give us a comprehensive visualization of the database, including data around execution counts, total duration, CPU time, active sessions, row counts, memory grants, and logical writes (all of which are key indicators that help us correlate spikes in activity directly to latency):

CaitlinHalla_14-1770993150820.png

These metrics can be viewed in both aggregate views and by the top 10 queries:

CaitlinHalla_15-1770993150826.png

If there are any dependencies, they’re viewable via the Dependencies tab, and there’s also metadata related to this instance available through the Metadata tab:

CaitlinHalla_16-1770993150838.png

Wrap Up

With this Database Monitoring capability, we can quickly identify performance bottlenecks across an entire database fleet and correlate that database performance data to our applications and infrastructure.

There’s more to come for this capability, so stay tuned for additional updates.

Already a Splunk Observability Cloud customer and ready to try out Splunk Database Monitoring? Contact our sales team to try it out today.

New to Splunk Observability Cloud? Start with a free 14-day trial.

Resources

Contributors
Get Updates on the Splunk Community!

Modernize your Splunk Apps – Introducing Python 3.13 in Splunk

We are excited to announce that the upcoming releases of Splunk Enterprise 10.2.x and Splunk Cloud Platform ...

Step into “Hunt the Insider: An Splunk ES Premier Mystery” to catch a cybercriminal ...

After a whole week of being on call, you fell asleep on your keyboard, and you hit a sequence of buttons that ...

SplunkTrust Application Period is Officially OPEN!

It's that time, folks! The application/nomination period for the 2026-2027 SplunkTrust is officially open. If ...