Types of Monitoring
- Basically, there are two approaches to monitor machines under test:
- Internal Probes/Agents that run within the server (as a process/daemon) and sends counter values to an application like the Windows Task Manager or out to a Diagnostics Mediator/Server
- External Monitors (such as the unix rstad daemon) that respond to operator commands sent using SSH (Secure Shell) protocol through the network to the server being monitored, which then responds with another transmission over the network.
External Monitors
The amount of resources used by each server in an J2EE or .NET application can be monitored externally by sending requests to Windows performance monitor or commands as a Unix Secure Shell (SSH) session user.
Since all monitoring requests orginate from outside the server being monitored, some call this a "black box" approach to testing.
This is the approach used by Mercury SiteScope, LoadRunner and Business Process Monitor.
Just because a monitor is "agent-less" doesn't mean that it is "non-intrusive" in that it imposes overhead on the system being tested.
Probes/Agents Within Servers
This approach is classified as "white box" testing because probes are installed inside each app server under test (SUT).
- This is why product ReliAgent, calls its probes embedded "narks".
After a probe is "instrumented" to recognize methods running on its app server, it makes an announcement whenever it detects invocations of servlets, JSPs, EJBs, JNDI, JDBC, JMS, and Struts.
Probes report on JVM memory heap usage and the memory consumption of Java collections.
|