Install SQL Monitor without needing to provision a (large) SQL Server database
CONTEXT: One challenge with installing SQL Monitor is that we need to provide a connection to a SQL Server database.
PROBLEM: This can be costly or complicated. It would be better if SQL Monitor had an alternative backend.
EXAMPLE SOLUTIONS:
• Offer a hosted data store
• Automatically deploy a free backend alternative such as mongoDB or PostgreSQL
• Reduce data collection so that SQL Express can be used for small deployments
• Provide greater granularity over data retention policies
What do you think about these solutions? Got another idea? Let us know in the comments!
We’ve made some improvements in this area but will leave it open so you can continue to give us your suggestions
-
Hi Barry,
Thanks for your suggestion. We are thinking a lot about data retention (for example, we've recently done some research to pinpoint recommended purge windows), and data aggregation is the holy grail in our considerations. However, different types of data require different aggregation tactics, and making this work across the app is a significant chunk of work. We are interested in doing more on this, but since most users are more interested in their recent data rather than their historic data, we often prioritise other work over this problem.
It is possible to extract pruned data (ie. an arbirary subset of representative data points for a given duration) for graphable metrics relatively easily from our data repository. For example, the query...
SELECT * FROM [Cluster_Machine_LogicalDisk_Capacity_UnstableSamples_DateRange]([utils].[DateTimeToTicks]('2013-03-25'), [utils].[DateTimeToTicks]('2013-03-26'), 500)
(object names quoted from memory, please double check)
...would retrieve 500 data points each for disk utilization of every disk on every machine you are monitoring for the specified time range. You could set up a weekly job to extract a week's worth of data from data sources you are interested in and put them into corresponding tables in a different database and derive SSRS reports from this. If you are looking for a workaround, this is probably the best route for you.
Daniel
-
Barry Smallman commented
The data stored within the RedGateMonitor database is extremely detailed and the database can grow very large.
What I would like to do is to copy the data stored in the database to a new database, and to aggregate the data, so that I can retain data for a far longer period of time.
I would like to have the data aggregated into Daily, Weekly and Monthly tables.
Once this has been done, I can then create SSRS reports that will be able to show trends over longer periods of time.Is there any guidance on how this can be achieved?
-
If you are interested in altering the purge window only then that can be done in-product as follows:
Configuration Tab
Data Purging
Drop these values down to the smallest practicable time frame especially the high volume data.
Thanks. -
Stephen commented
Thanks for the clarification, Fiona. I wonder this wasn't mentioned over a year ago when we purchased the product...
We will happily use SQL2008R2 Express with its 10GB limit and would welcome you posting the edits either here or as a sticky on the SQL Monitor 3 Forum itself (or both). We would prefer to keep the purge window small and NOT reduce the collection frequency.
Thanks.
-
Hi Stephen
As you say, you will need an additional machine for the Base Monitor, however it doesn't need SQL Server installed on it as you can have the Base Monitor connect to a SQL Monitor repository database that resides on your clustered SQL Server (i.e. the Base Monitor Service can point to a SQL Database on a different machine).
Alternatively if you don't want SQL Monitor repository database running on the cluster, you could use SQL Server express edition on the Base Monitor machine as long as your purge window is quite small and/or collection frequency reduced (we can send you details on how to edit your configuration file to do the latter).
If you would like addition details on any of the above, either respond here or drop me a line at fiona.gazeley@red-gate.com
Hope that's of some help, Fiona. -
Stephen commented
Using hosted servers, we have a SQL cluster that is our Production machine. The inability to install the Base Monitor on that cluster requires us to purchase an additional SQL Server and license it at in excess of $8K for the SQL Std license plus ongoing monthly charges.
This makes an inexpensive, quality product much more expensive...
We have Web Servers to handle IIS7 but the Base Monitor is the issue.
-
Thanks Tjay for your feedback.
Regards,
Priya -
tjaybelt commented
i agree. more visibility into what is being stored and the ability to purge out certain sets of data we deem unnecessary would be incredible.
-
Thanks for your feedback. We will definitely review purge based on your feedback.
-
afroz ahmed commented
Need more purge options. We are using SQL Express for monitoring and we want some alerts to exist for longer periods than some other. And also should have ability to delete data for certain servers. Should be able to see data used by different alert types, different servers etc
-
Hi Kevan.. it will be possible but requires some code changes. At this stage, I am not sure when we will implement and release these changes.
-
kevriley commented
Will SQL Monitor be able to store it's repository in the cloud i.e. SQL Azure?
-
Thanks for your feedback Brandon.
-
Brandon commented
I don't want to have to use SQL Server to monitor my SQL Servers because that defeats the purpose of monitoring. I have tried SQL Express, but the DB quickly hits its size limit. Perhaps the new data purging will help, but I shouldn't have to buy SQL to monitor SQL and I don't want to put the repostory DB on my monitored instances.