13 Sep 2023
09:45 AM
- last edited on
26 Sep 2023
09:25 AM
by
AgataWlodarczyk
Dear Dynatrace Warriors.
Hope you guys are doing well.
Is it possible to Configure JVM Heap space memory monitoring and splitting by host/server? Instead of monitoring the overall server process, how can I focus on the JVM heap space only for a specific server? I would like to get the details of this and showcase this on the Dashboard so that my team can monitor and review this.
Look forward to your guys' response on this. Thank you so much for helping out guys.
Appreciate it as always.
Thanks,
Regards,
Afrezal Karim
Solved! Go to Solution.
13 Sep 2023 11:34 AM
Hi,
I am not sure if I understand you but can you execute this in data explorer?
builtin:tech.jvm.memory.pool.used:splitBy("dt.entity.process_group_instance"):sort(value(auto,descending)):parents
If you choose table visualization for example, you should see 3 columns:
Best regards
25 Sep 2023 04:10 AM
Hi @AntonPineiro ,
Thank you so much for your response on this. I've tried to execute the query in the Data Explorer and it works like a charm!.
Thanks for helping out. I appreciate it!.
By the way any idea how do i filter by hostname?. was trying to use the :filter and eq("dt.entity.host","HOST-001") still not able to get the specific host to be filter.
25 Sep 2023 06:01 AM
Here is an example for filter host. In this case you should also use parents transformation and filter together.
builtin:tech.jvm.memory.pool.used:parents:filter(and(or(in("dt.entity.host",entitySelector("type(host),entityName(~"YOUR HOST NAME ~")"))))):splitBy("dt.entity.process_group_instance","dt.entity.host"):sort(value(auto,descending))
Or you can use the dynamic filter on the dashboard as I mentioned before.
I hope it helps.
Best regards,
Mizső
14 Sep 2023 03:57 PM
@AntonPineiro answer is perfect.
If you would like to provide more extra, useful information about the jvm behaviour to the IT operation guys I reccomend these metrics: suspension time and garbage collection total time.
You can also collect some extra jmx metrics at different types of jvms (jboss, tomcat, weblogic etc...) which ones could be useful for IT ops.
Eg. at weblogic: hogging thread, pending requests or connection pool metrics waiting threads and failed db connects...
And it could be useful if you use the dynamic filter on dashboards:
eg.
I hope it helps to provide better service to your teams.
Best regards,
Mizső
25 Sep 2023 04:17 AM
Hey @Mizső ,
Thats a pretty cool Dashboard you've created. Looks awesome.
Do you mind sharing the details of the builtin query keyword that i can use similar like yours ?.
Still learning and trying to understand which one is good to be put in the Dashboard.
Again thanks for sharing and and also helping on this. Appreciate it.
25 Sep 2023 06:06 AM - edited 25 Sep 2023 06:06 AM
Hi @Afrezal_Karim,
These are the metric expressions:
In bulilt basic metric:
builtin:tech.jvm.memory.gc.suspensionTime:splitBy("dt.entity.process_group_instance"):max:sort(value(max,descending))
builtin:tech.jvm.memory.gc.collectionTime:splitBy("dt.entity.process_group_instance"):max:sort(value(max,descending))
WL specific in built:
builtin:tech.weblogic.connectionPool.WaitingForConnectionCurrentCount:splitBy("dt.entity.process_group_instance"):sum:sort(value(sum,descending))
builtin:tech.weblogic.connectionPool.FailedReserveRequestCount:splitBy("dt.entity.process_group_instance"):sum:sort(value(sum,descending))
WL extra jmx metrics:
ext:custom.jmx.HoggingThreadCount.metric_HoggingThreadCount_1601572768674:splitBy("dt.entity.process_group_instance"):max:sort(value(max,descending))
ext:custom.jmx.PendingRequestCount_JMX.metric_PendingRequestCount_1601790848493:splitBy("dt.entity.process_group_instance"):max:sort(value(max,descending))
Oracle extension metric:
builtin:tech.oracleDb.cd.sessions.active:splitBy("dt.entity.custom_device"):sum:sort(value(sum,descending))
I hope it helps.
Best regards,
Mizső