cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to create a dashboard for 2 management zones?

Arunkumarbnp
Participant

 

How to create a dashboard for 2 management zones?

We have 2 management zones for 2 applications that are to be monitored in a single dashboard.

But I see the dashboard tiles cannot be created for both the management zone at the same time.

Please share if there is a solution to this issue.

12 REPLIES 12

Julius_Loman
DynaMight Legend
DynaMight Legend

The most straightforward and recommended approach would be to create a management zone which includes entities from both zones.
Depending on what tiles you put on the dashboards, you might be able to filter entities by entitySelector in Data Explorer tiles and use both.

Certified Dynatrace Master | Alanata a.s., Slovakia, Dynatrace Master Partner

Hi Julius
Thanks for your quick reply.
Am new to dql and am trying to filter the entities with management zone name.

How to filter by management zone?

hi @Arunkumarbnp,  

Management Zones will be in Array when pull the data entities using DQL while polling any entity be it as host or process group instances.

So you can use it to filter,

either

filter toString(Management Zone)== "MZ name" or filter MZ == array("MZname")

Try and let me know.

Thanks

aravind

I need to filter for 2 mznames

May I use this query

filter MZ == array("MZname1","MZname2")

As the managementZones field is an array the most "proper" way to accomplish the task would be to use the in operator to match entities which occur in either MZ1 or MZ2. The DQL syntax would look something like the below:

| filter in(managementZones,array("MZ1","MZ2"))

 

Hi Marco
Thanks for your reply.
I tried the below query in data explorer and the below error is displayed

Error: Metric selector parse error: line 2:50 token recognition error at: '|'

builtin:synthetic.browser.failure:filter(and(or(in("dt.entity.synthetic_test", entitySelector("type(~"SYNTHETIC_TEST~")")))))
:splitBy():sort(value(auto,descending)):limit(20) | filter in  (managementZones,array(~"apple",~"orange"))

hi @Arunkumarbnp

Believe you mix the metric in Data explorer with DQL one.

builtin:synthetic.browser.failure:filter(and(or(in("dt.entity.synthetic_test", entitySelector("type(~"SYNTHETIC_TEST~")")))))
:splitBy():sort(value(auto,descending)):limit(20)  -- This one is builtin metric
 
|filter in  (managementZones,array(~"apple",~"orange"))  -- This one is DQL. 
 
Please have a clarity between these 2.
 
Thanks
aravind

Hi Aravindhan

Thanks for the clarification.
I'm trying to use the query in data explorer for 2 management zones.
How to create a simple query

Peter_Youssef
Leader

Hi @Arunkumarbnp 

  • As per Dynatrace Management Zone definition, the monitored entities which are configured to be included in the intended management zone will be limited for the intended team as per the RBAC.
  • Having this option isn't available as of now, as the dashboard can be dedicated to only one management zone.
  • Meanwhile permitting access to dedicated users or user groups is an option also depending on the configured dashboard tiles that will present the monitoring insights.
  • You can consider the suggested solution by @Julius_Loman , it will work properly as long as the related entities are configured in both management if there is no need for entities segregation.
  • In case you need to segregate everything, configuring the observability tiles as per monitoring requirements and avoid limiting the dashboard to any management zones at all, so the access will be given to the intended users groups (App owners) without any issues and both teams will access the same dashboard with no doubt.

2025-04-15_10h19_51.png

Hoping it helps.

BR,

Peter.

 

Arunkumarbnp
Participant

Hi Peter, 
I appreciate your quick reply.

For now, I use filter query to add the entities from both the management using tags.
How to use filter query to add these entities using management zone names instead of tags?
eg query

builtin:synthetic.http.availability.location.total:filter(and(or(in("dt.entity.http_check", entitySelector("type(~"HTTP_CHECK~"),
tag(~"apple~")")),
in("dt.entity.http_check",entitySelector("type(~"HTTP_CHECK~"),tag(~"orange~")"))))):splitBy("dt.entity.http_check"):sort(value(auto,descending)):limit(100)

Here's the equivalent entity selector expression:

builtin:synthetic.browser.failure:filter(and
(or(in("dt.entity.synthetic_test",entitySelector("type(synthetic_test),mzName(~"MZ1~")"))),(in("dt.entity.synthetic_test",entitySelector("type(synthetic_test),mzName(~"MZ2~")"))))):splitBy("dt.entity.synthetic_test"):sort(value(auto,descending)):limit(20)

I quick note: I do not work with the entity selector expressions too often, but the above seems to work even with the odd placement of quote and tilde (~) characters placed around the MZ names. You should be able to get this to work by just replacing MZ1 and MZ2 strings with your management zone names, while leaving all the punctuation in place.

Hi Marco
Thanks for your input,
I tried the below one, this one also works.
builtin:synthetic.browser.availability.location.total:filter(and(or(
in("dt.entity.synthetic_test", entitySelector("type(~"SYNTHETIC_TEST~"),mzname(~"mz1~",~"mz2~")")))))
:splitBy():sort(value(auto,descending)):limit(20)

Featured Posts