-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSSQL enhancements: support user databases #4108
Comments
The short-term solution to this would be to add an optional input in transaction_log for users to enter a customer DB name. The metrics can be extracted for this customer DB along with all system DBs. CC @ManojS-shetty |
Hi @lalit-satapathy , |
HI @VF-JustinMolnar We would like to inform you that as Lalit suggested we will be providing this optional input in transaction_log as a part of package release. We will be updating the progress of the development and testing on this issue thread. Thank you |
Hi @lalit-satapathy for me it's a bug compared to Metricbeat capabilities , user called it a regression. Why on that point, Metricbeat retrieves metrics for all DBs and Elastic-Agent only system DBs ? |
Hi @Danouchka, This is only a "short term solution" as mentioned in here. The long-term solution is TBD. |
Hi, similar to metricbeat, I am working on retrieving metrics for all the DBs using agent as well. |
Short-term solution where user database can be manually provided is done. #4869. |
@ritalwar , lets update the latest on this issue. |
Working on long term solution approach where we can get all user DBs metrics for transaction log. |
Considering a strategy where a first integration can be added to obtain a list of all databases. The user can then edit the integration to add database names from that list and obtain the corresponding metrics. |
Hi
In that case, when you retrieve the list of all database, you have also to get some useful information (asked by customer DBA) such as if they are online or not, their file path, the occupied size of the file etc..
I had written an ER for that here #4260
But why not retrieving all of databases metrics ?
For instance, When you retrieve metrics from GCE Compute and the customer has thousands of VM, we dont enter the hostnames we want to monitor one by one in the GCP integration
So why would it be different approach here ?
Thanks, Dan
Dan Abitbol
Solutions Architect SEMEA, elastic.co
Search. Observe. Protect.
+33662168617

… Le 8 févr. 2023 à 06:06, Richa Talwar ***@***.***> a écrit :
Considering a strategy where a first integration can be added to obtain a list of all databases. The user can then edit the integration to add database names from that list and obtain the corresponding metrics.
—
Reply to this email directly, view it on GitHub <#4108 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ALSQI4XJ7WZFK63EY2SNT4DWWMSWXANCNFSM6AAAAAAQB6L4ZQ>.
You are receiving this because you were mentioned.
|
Hi Your strategy may be good but please 1/ explain why it's different from GCP compute metrics Thank you |
Hi, I'm not certain about the comparison, so currently looking into the other possibilities as well. Additionally, as mentioned earlier, trying to find a means to collect data for all Dbs from the sys.dm_db_log_space_usage table, making some headway with the use of the "DBCC SQLPERF (LOGSPACE)" query, which is giving Log Size (MB) and Log Space Used (%) data for all the dbs. Trying to further get total_log_size_in_bytes and log_space_in_bytes_since_last_backup data for all databases. |
Hi @ritalwar Please combine your query with the latest one mentionned in #4260 For reminder, The query mentionned in #4260. (just one issue with this one below, SpaceUsed is null for user DBs) |
My integration settings |
Separate issue filed to support user dbs with special characters. |
@ritalwar , can we close this too? |
We currently support user databases in such a way that customers can add a list of user databases to observe performance and transaction-log metrics. |
For user database(s), querying from
So it does not say user databases and that's why I think you are getting Example:
cc: @Danouchka |
Hi @shmsr I will give a try thank you ! and let you know |
I get this below.
(2 rows affected) |
@Danouchka Do you have any user-defined DB? I just see master. Also, with the second command, there are just 2 rows and that too of master and I do not any |
Good Point ! |
To summarize, we already have a solution in place which enables users to manually feed the user databases along with the already set system databases (as default). But to close this issue we’d ideally want to have a solution that gets all accessible databases on a server. I have a proposal that suggests a simple approach to how we can achieve the same instead of introducing SQL chaining similar to that of HTTP JSON chaining in beats. Implementation is quite simple and it'd help us close this issue with a solid and simple solution without affecting older functionality. Even if we introduce SQL chaining which will introduce some kind of chaining where we use the response of one query into another, I hardly have any use case that cannot be achieved with a simpler alternative. Considering, integrations only fetch metrics, logs, etc. (for instrumentation/ observability needs) from the databases; the requirement of some kind of chaining seems unnecessary. If someone has a solid use case, I am all ears. In case, we have solid use cases then we'll definitely explore adding some kind of chaining. Proposal: Recommended approach
Please see elastic/beats#35688 for more details. |
The feature requested is released in the 2.2.0 version of Microsoft SQL Server. For more info see: #7500 Please ensure to use the 8.10 stack or above in order to use the |
The MSSQL Integration currently loads "transaction_log metrics" from following dbs:
The integration code should be updated to load from all the dbs.
The text was updated successfully, but these errors were encountered: