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

Multi-environment setup with shared docker images



Is there anyway of disabling Dynatrace externally once its inside a Docker container? I'd like to utilize the same Docker image through the whole pipeline DEV/TEST/STAGING/PROD envs, but not necessarily monitor our DEV environments in full depth. Problem is this does not seem to be so easily, if not at all possible to do?

You can disable hosts on the UI, but each container pops up as a new host, so thats rather a whack-a-mole game. Have tried to inject DT_CUSTOM_PROPS to the env variables of Fargate, but that just gets lumped into a single service in Dynatrace having all of the Environment tags, instead of being apple to separate DEV service from TEST service and so fort. We are using NodeJS inside the containers, so it seems it simply grabs the package.json name and uses that as service name, where ever it might be running. Even if the custom props would separate services, the Host naming does not support environment tags, so I see no way how I could automate the whack-a-mole game...

How would I run the same images in different environments, without actually being forced to also monitor that environment?

And further on, how would I clearly separate DEV service from TEST service in the data?


DynaMight Legend
DynaMight Legend

I guess you are using the paas agent in the do cker image. How are your process groups organized? I would disable monitoring on the process group level for the process groups belonging to the dev environment. This should satisfy your requirements.

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

This seems to be precisely what I was after, but I'm really struggling to get this to work. Latest agent (1.165. version actually names process groups automatically based on ECS container / family names, meaning we get something like "dist/index.js (service) app-dev-service" as the process group names.
Tried to set from Process Monitoring rules to "Do not monitor processes if AWS ECS Family name contains 'app-dev' " and al sorts of other rules, but these don't seem to take much effect. Contains, begins, matches against family/cluster names, but the services still get instrumented.

If it's just and only about "Do not monitor DEV environment at all" - you can set the DT_CONNECTION_POINT variable to something non-reachable (not the empty string) in your container entrypoint script - if your entrypoint script is aware of the environment. Processes will be instrumented, but agents will not connect, thus monitoring won't be available.

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

Featured Posts