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

Lookup data for SLOs app and Anomaly detector app?

calfanonerey
Participant

Not sure if intentional or not but I'm not able to run DQL queries with lookup commands within the davis anomaly detector or the SLOs app. I can run these in a notebook. 
https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/lookup-data

this is within the SLOs app:

calfanonerey_0-1757989110662.png

 


Is there any more policies/permissions I'm missing?

4 REPLIES 4

p_devulapalli
Leader

@calfanonerey My guess is that the lookup is currently not enabled for davis anomaly detector or the SLOs app. you would need "storage:files:read" permissions to read lookup data and not sure this is scoped for these apps currently 

Phani Devulapalli

tomaxp
Helper

This behavior is by design.
load and lookup [ load … ] work in Notebooks, but they are not supported in the SLOs app or Davis Anomaly Detector. Even with the correct permissions, you will still see an error when trying to access /lookups/... in those apps.

What you can do instead:

  • Pre-enrich at ingest: Enrich logs, Business Events, or metrics with lookup (mapping) data before they are stored in Grail. This way, the SLO or anomaly detection can use regular fields/dimensions without relying on load.

  • Tags / MZ / source attributes: If your lookup is used for classification, replicate it using auto-tags, Management Zones, or additional metric dimensions.

  • Use Notebook/Dashboard for analysis: Keep any analysis that requires lookup [ load … ] in Notebooks or Dashboards, and base the SLO on metrics/events that are already enriched.

    Permissions (for Notebook / Resource Store access):

ALLOW storage:files:read - globally
OR
ALLOW storage:files:read   WHERE storage:file-path startsWith "/lookups/";

ALLOW storage:files:write // if you upload
OR
ALLOW storage:files:write  WHERE storage:file-path startsWith "/lookups/";  // if you upload

ALLOW storage:files:delete // if you delete
ALLOW storage:files:delete WHERE storage:file-path startsWith "/lookups/";  // if you delete

After that quick DQL test in notebook:

fetch dt.system.files
| limit 1

load "/lookups/..."
| limit 5




Thanks! It's really unfortunate lookups are not supported in these other apps. lookups are incredibly powerful and using these other apps without them is a non starter for this use case. I want to only manage one lookup file instead of worrying about all these other areas to manage thresholds or other data. In my opinion that's the big advantage of utilizing the lookups!

I will be submitting a feature request for this. 

Featured Posts