Best practice to query administrative views for instance level elements
This is the classic question / fight over whether monitoring should have a monitoring agent installed on each server, or if it should be "agentless".  

With an agent installed on each server, a process/script/etc. wakes up every so often, collects data, and reports it back to a central location (i.e. monitoring server).  

With an agentless solution, the central server polls each monitored server/database/etc on a schedule to collect the information.  Cacti and Nagios typically use this solution.

There are pros and cons to each method.  There is not necessarily a best practice for which method to use, discussion usually just results in a holy war (similar to Emacs vs. vi, DB2 vs Oracle, ...).