Webmodules for Tomcat 7.x web application server

Microsoft.JEE.Tomcat.7.Application.Discovery (Discovery)

Discovers applications (Webmodules) installed on a Tomcat web application server 7.x configuration.

Knowledge Base article:

Summary

The Application Discovery discovers the WebModules associated with a Tomcat web application server configuration.

The discovery occurs using MBeans with the following query:

This query is identical to the discovery on Tomcat 7.x. There is a seperate discovery for Tomcat 7.x because the returned MBeans are different.

For Tomcat 7.x, the default distribution does not expose access to JMX Monitoring. Consult the Tomcat 7.x documentation for Monitoring and Managing Tomcat.

Element properties:

TargetMicrosoft.JEE.Tomcat.7.Monitored.Configuration
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.JEE.Discovery.MBeans.DataSource Default

Source Code:

<Discovery ID="Microsoft.JEE.Tomcat.7.Application.Discovery" Target="Microsoft.JEE.Tomcat.7.Monitored.Configuration" Remotable="true" Enabled="true">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.JEE.Tomcat.7.Application"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="JEE!Microsoft.JEE.Discovery.MBeans.DataSource">
<ApplicationServerGuid>$Target/Id$</ApplicationServerGuid>
<ComputerName>$Target/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/HostName$</ComputerName>
<Protocol>$Target/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Protocol$</Protocol>
<Port>$Target/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Monitored.Instance"]/Port$</Port>
<BaseURL/>
<JMXQuery>Catalina:j2eeType=WebModule,*</JMXQuery>
<AdditionalArguments>&amp;MaxDepth=0</AdditionalArguments>
<ReturnMultiplePropertyBags>true</ReturnMultiplePropertyBags>
<UseAttributesInKeysOfReturnedPropertyBags>false</UseAttributesInKeysOfReturnedPropertyBags>
<!-- Interval currently set to four hours -->
<IntervalSeconds>14400</IntervalSeconds>
<TimeoutSeconds>900</TimeoutSeconds>
<ClassId>$MPElement[Name="Microsoft.JEE.Tomcat.7.Application"]$</ClassId>
<InstanceSettings>
<Settings>
<!-- The following properties are defined for the Application's parent classes -->
<Setting>
<Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
<Value>$Data/Property[@Name='/MBeans/org.apache.catalina.mbeans.ContextMBean/objectNameElements/name']$</Value>
</Setting>
<!-- These properties are for the Tomcat Configuration -->
<Setting>
<Name>$MPElement[Name="JEE!Microsoft.JEE.ApplicationServer.Instance"]/Id$</Name>
<Value>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Instance"]/Id$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="JEE!Microsoft.JEE.ApplicationServer.Instance"]/HostName$</Name>
<Value>$Target/Host/Property[Type="JEE!Microsoft.JEE.ApplicationServer.Instance"]/HostName$</Value>
</Setting>
<!-- The following properties are defined for the Application -->
<Setting>
<Name>$MPElement[Name="JEE!Microsoft.JEE.Application"]/ApplicationName$</Name>
<Value>$Data/Property[@Name='/MBeans/org.apache.catalina.mbeans.ContextMBean/objectNameElements/name']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="JEE!Microsoft.JEE.Application"]/j2eeType$</Name>
<Value>$Data/Property[@Name='/MBeans/org.apache.catalina.mbeans.ContextMBean/objectNameElements/j2eeType']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="JEE!Microsoft.JEE.Application"]/ObjectName$</Name>
<Value>$Data/Property[@Name='/MBeans/org.apache.catalina.mbeans.ContextMBean/objectName']$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>