30 Apr 2024 03:22 PM
How can I create a metric on data explorer for process group availabilty spliting by process group?
Solved! Go to Solution.
30 Apr 2024 03:29 PM
hello @kobkob you can use builtin:pgi.availability
30 Apr 2024 03:34 PM
Hi @DanielS thanks for your response.
I used it, but its not possible to split it by process group, but only by process.
In the end I want to monitor the cluster. For example if I have a service with 2 instances and 1 of them is down, I want to see 50% availability.
Thanks
30 Apr 2024 03:41 PM
Understood, do you have enabled process group availability monitoring?
30 Apr 2024 03:52 PM
I leave you the link https://docs.dynatrace.com/docs/shortlink/process-group-alerting
01 May 2024 11:12 AM
This is not correct.
The process is not available but the process Group is available because the second one is handling the load.
I suggest you to split the Graph by process (and filter if needed), with this way you can know if the process i with 0% availability or not.
09 May 2024 04:32 PM - edited 09 May 2024 04:34 PM
Hi @kobkob
I think its a great idea of Malaik and DanielS
Alternative 1 : in that way you can use this Metric Selector
builtin:pgi.availability:filter(and(or(in("dt.entity.process_group_instance",entitySelector("type(process_group_instance),fromRelationship.isInstanceOf(type(PROCESS_GROUP),entityName.equals(~"bin/npm-cli.js (npm) ms-insurance-bs-*~"))"))))):splitBy("dt.entity.process_group_instance"):sort(value(auto,descending)):limit(20)
I have found another metric that can be much more useful for you, however it is based on the count of instances (Not exactly on their availability %). In my personal opinion I think this metric is more useful, the reason is because the "Process group availability monitoring" rules are also based on the number of Processes or process instances to alert.
The great thing about this metric is that it has the Splt by "Process Group".
Alternative 2 : Use the metric "Process count per process group" ( builtin:tech.generic.count )
builtin:tech.generic.count:filter(and(or(in("dt.entity.process_group",entitySelector("type(process_group),entityName.equals(~"ms-bff-crm~")"))))):splitBy("dt.entity.process_group"):sort(value(auto,descending)):limit(20)
I'm sure this will be very helpful 💪😊