Instrumenting the Web Site / Web Application to be Monitored
Figure 214 clearly delineates the options available for RUM-enabling a web site/web application, and when each of those options become applicable.
Each of the options depicted by Figure 1 are discussed briefly below:
Container assisted injection: If the web site / web application to be RUM-enabled is hosted on an IIS / Apache web server or any of its variants (say, IBM HTTP server or Oracle HTTP server) or is fronted by a load balancer, then you can use container assisted injection to RUM-enable that web site / web application. On IIS, this can be achieved by defining URL Rewrite rules. Refer to Instrumenting a Web Site or Web Application on IIS using URL Rewrite topic for details. On Apache, IBM HTTP, and an Oracle HTTP server, this can be achieved by following the steps detailed in Instrumenting an Apache Web Server Using Container-Assisted Injection, Instrumenting an IBM HTTP Server v9.x (and above) Using Container-Assisted Injection and Instrumenting an Oracle HTTP Server Using Container-based Injection topics. Where load balancers such as NetScaler and F5-Big IP front-end the target web site/web application, follow the procedure detailed in the Instrumenting a Web Site or Web Application Using a NetScaler Rewrite Policytopic and the Instrumenting a Web Application Using an F5 BIG-IP Load Balancer topic respectively to inject the RUM script .
Container-assisted RUM script injection can be used to RUM-enable only those web servers that support the mod_substitute and mod_filter modules. If a web server does not support these modules or supports only one of them, then such web servers cannot be RUM-enabled using the container-based injection method. To RUM-enable such web servers, any of the alternate approaches depicted by Figure 214 should only be used.
On the other hand, if the common section is not editable, then check whether the target application uses server-side templates to auto-generate the common section. If this is the case, then edit the template code to include the custom API helper class that generates the RUM script. The following helper classes are available:
- Auto-injection of RUM script using eG Java Business Transaction Monitor (BTM): Where container-assisted RUM injection or common header-based RUM injection cannot be performed, administrators are left with the only option of manually inserting the RUM script into every page. If there are hundreds of pages to be RUM-enabled, then manually inserting the RUM script in each page involves a lot of time and effort. To save administrators the time and trouble involved in manual script insertion, eG Enterprise leverages the built-in transaction tracing capability of the eG Java Business Transaction Monitor (BTM) to automatically RUM-enable web pages. To know more about this option and how to perform this, refer to the Auto-injecting the RUM Script topic.