19 Jul 2022 09:04 PM
Could someone please guide me to an API or some logical trick...........maybe Monaco has this.
I'm trying to get a list of all Process Groups/Process Instances, in my tenant, for which Availability Monitoring has been activated.
At the moment the only way i can think of getting to this is by going to each host then clicking each process and checking the configuration. Needle in a haystack experience at the moment.
19 Jul 2022 10:20 PM
This Early Adopter API allows me to see the configuration of a Process (which is always done at the process group instance level)
config/v1//anomalyDetection/processGroups/{id}
Problem is I would have to iterate over every Process Group, of which there are 15680 (27891 Process Group Instances) in my tenant.
Trying to see the following for all processes which have Availability Monitoring.
Host | Process | Availability Monitoring Setting
20 Jul 2022 12:00 AM
For what I know, you have to go the API way. And Monaco should help there. One of the functionalities of Monaco is downloading the configuration, namely to a local repository. You should then be able to iterate through that data...
26 May 2023 05:23 PM
Old post, but I recently needed something similar so I could display Process Groups with Availability alerting turned on in Grafana, so I came up with this:
/v2/settings/objects?schemaIds=builtin%3Aavailability.process-group-alerting&fields=scope%2Cvalue&pageSize=500
Now, this will return (at least for us) a list of process groups that have availability alerting set to False, but only ones that I think had it enabled at some point in the past. For example, for us, this returns 71 Process groups. 68 of them have availability alerting set to TRUE and 3 have it set to FALSE. Luckily, in Grafana you can put a JSON Path filter on the results before displaying it, so I have the following filter to remove those 3 FALSE items and return the Process Groups' Entity IDs:
$.items[?(@.value.enabled == true)].scope
Our problem now is that we want a table that shows the current total availability percent for each Process Group, along with the number of processes currently running each group and the number of hosts in each group. That way we could easily look at the table, see which Process Groups aren't at 100% availability, and see the number of processes running versus the number of hosts in each Process Group.
The problem is that the builtin:pgi.availability metric doesn't have the Process Group Entity ID as a dimension, so when you query for a list of Process Group Instance Availability metrics from multiple Process Groups, using a query like this:
/v2/metrics/query?metricSelector=builtin:pgi.availability:filter(and(or(in("dt.entity.process_group_instance",entitySelector("type(process_group_instance),fromRelationship.isInstanceOf(type(PROCESS_GROUP),entityId(~"PROCESS_GROUP-5B087D72897F017D~",~"PROCESS_GROUP-31AC0FC8E09FEC98~"))"))))):parents:sort(value(auto,descending)):limit(20)
You can't map which PG Instance goes to which Process Group that you originally queried. You can see the hosts those PGI's live on, but not the parent Process Group. Kind of nuts that it doesn't return the parent Process Group in the metric results...