Resin 2.x server

Resin 2.x server

Log Track Supported: Yes
Config Track Supported: Yes
Custom Properties Supported: None
Supported Control Actions: start,stop,restart
Supported Metrics:

Name Alias Units Category Default On Default Interval
JVM Active Thread Count ActiveThreadCount none UTILIZATION true 5 min
JVM Active Thread Group Count ActiveThreadGroupCount none UTILIZATION false 5 min
JVM Free Memory FreeMemory B UTILIZATION false 5 min
JVM Total Memory TotalMemory B UTILIZATION false 5 min
Uptime Uptime ms AVAILABILITY false 5 min
Availability Availability percentage AVAILABILITY true 5 min
Process CPU System Time TimeSys sec UTILIZATION false 10 min
Process CPU User Time TimeUser sec UTILIZATION false 10 min
Process Memory Size MemSize B UTILIZATION false 5 min
Process Resident Memory Size MemResident B UTILIZATION false 5 min
Process Shared Memory Size MemShare B UTILIZATION false 5 min
Process Page Faults PageFaults none UTILIZATION false 10 min
Process Page Faults per Minute PageFaults1m none UTILIZATION false 10 min
Process Open File Descriptors OpenFd none UTILIZATION false 5 min
Number of Requests Served RequestCount none THROUGHPUT true 10 min
Number of Requests Served per Minute RequestCount1m none THROUGHPUT true 10 min
Total Processing Time TotalTime ms PERFORMANCE true 10 min
Total Processing Time per Minute TotalTime1m ms PERFORMANCE true 10 min

Configuration help:

Configure Resin 2.x for Monitoring

To enable monitoring of Resin servers and services the Resin server must be instrumented using a filter to collect metrics and a webapp to deliver the metric data into HQ. The web application, filter and any additional jars are packaged in the HQ agent directory under product_connectors/servlet. All commands below should be issued from this directory.

    cp libs/hq-filter.jar ${installpath}/lib
    cp libs/mx4j-jmx.jar ${installpath}/lib
    cp -R hyperic-hq ${installpath}/webapps
  

The final step for monitoring requires a change to the environment to place mx4j-jmx.jar in the front of Resin's classpath. Resin 2.x uses and older version of JMX that is incompatible with HQ. To fix this set the environment variable CLASSPATH to include the mx4j-jmx.jar

     export CLASSPATH=${installpath}/lib/mx4j-jmx.jar
  

Then start the Resin server as normal. This change can be made permanant by setting the CLASSPATH in the users login script or by directly modifying Resin's startup script to set the classpath.

NOTE: If HQ is used to control the Resin server the modification to the CLASSPATH is not necessary.

To enable the filter in a web application for monitoring, add the following filter definition to the application's web.xml.

  <filter>
    <filter-name>JMXFilter</filter-name>
    <filter-class>org.hyperic.hq.product.servlet.filter.JMXFilter</filter-class>
      
    <!-- Uncomment the following line to enable response time logging. 
            The directory you specify as the param can include properties 
            referenced from the System.properties of the vm.

            The ResponseTime log file will by default store the last 1 hour's 
            worth of response time data. This file gets truncated as soon as 
            data is succesfully sent into the server. The file is named uniquely
            for each webapp in the form: yourContextName_HQResponseTime.log

            If this fragment is included in the global web.xml for the container,
            all webapps in it will generate response time data, and have logs 
            following the format described above. You can enable it individually 
            on each webapp as well if you dont want every webapp to generate 
            response time data

         -->
    <!--
    <init-param>
      <param-name>responseTimeLogDir</param-name>
      <param-value>/home/johnmark/software/hyperic-hq-agent-3.1.0/logs</param-value>
    </init-param>
         -->

    <!-- these are optional parameters which you can override to optimize logging -->
    <!--
    <init-param>
      <param-name>bufferSize</param-name>
      <param-value>8k</param-value>
    </init-param>

    <init-param>
      <param-name>bufferTime</param-name>
      <param-value>1h</param-value>
    </init-param>
         -->
  </filter>

  <filter-mapping>
    <filter-name>JMXFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <listener>
    <listener-class>org.hyperic.hq.product.servlet.filter.JMXSessionListener</listener-class>
    </listener>

  <servlet>
    <servlet-name>JMXWebappMetricServlet</servlet-name>
    <servlet-class>org.hyperic.hq.product.servlet.filter.JMXFilterInitServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  

This can be tested by verifying your webapps show up correctly in the JMX Servlet. You may need to modify the hostname in the URL if your jmxUrl is configured relative to the agent host.


General Log and Config Track Properties


Browse Space

- Pages
- News
- Labels
- Attachments
- Bookmarks
- Mail
- Advanced
- Activity

Explore Confluence

- Popular Labels
- Notation Guide

Your Account

Log In

or Sign Up  

Other Features

Add Content


System Monitoring Software
SourceForge.net Logo