With database agents we are pulling in metrics that already exist in database tables. The database agent is deployed on the collector and then queries these metrics back and pulls them into the appmon server.
But while monitoring other tiers we are deploying agents on specific tier not on collector .So why in case of database monitoring we are deploying agents on collector.still confused please elaborate
When montioring other tiers the agent is actually injected into the application process and so needs to be deployed on the same host, so that it can be executed by the process.
With the database agent we are not actually instrumenting any of the database processes with our agent directly. Instead we are making a remote connection to the database, and then querying it for performance data.
I guess due to database engine sensitivity, it is decided not to put any overload in the form of agent, therefore, the other way is chooses to get the measurements data same link monitoring plugins which runs on the collector.
We try to get as many metrics as are useful with as little intrusion or overhead as we can manage. With the other deep dive agents Dynatrace provides process level and Jvm level details which means it needs to start along with those components. That is why the agents are on those servers and place some overhead depending your sensors. With the DB agent, the metrics are pulled and grouped from the Database without the need for this deep level instrumentation. It is possible to pull the metrics that are provided without being a part of the dB management software. That is why they opted not to place it on the dB as it would be unnecessary.