Sun Java System Portal Server 7.1 Technical Reference

Chapter 72 Portal Server : Java Enterprise System Monitoring Framework Integration

This chapter contains the following sections to explain the integration of Portal Server product and Java Enterprise System Monitoring Framework (JESMF):

JESMF

JESMF is a Java Enterprise System (JES) common component that provides a single view of all the elements that compromise the JES stack. JESMF aims to simplify business by providing a single, consistent, qualified (Information relating to each component product is always equivalent. For example, a state of DEGRADED has the same meaning for every component product), relational (all the components in the monitored stack are interrelated) , and actionable (rather than simply regularly polling different monitored components to obtain information about them, it is sent by the component products only when action is required) service-oriented monitoring model for all JES components thereby providing information about the performance and status of the various JES component products in the stack.

JESMF follows a Common Information Model (CIM) - based monitoring model, improves usability, and adds support for existing CP metrics, and SNMP exposure of well known MIBs. It also implements Lockhart based JES Monitoring Console (JESMC) application on top of the infrastructure software that allows users to view monitored data.

JESMC

JES Monitoring Console helps visualizing JES component products monitored data exposed by JESMF. JESMC provides JES end users with a clear view of how their JES stack is performing and to provide them the means to take action appropriately. The data collected by JESMF is made available to such industry standard management applications as HP Open View, Tivoli or Solaris Management Agent.

The JESMC is a Lockhart based GUI. When the Monitoring Console and Lockhart are installed on your system, you can view the console by entering the following URL into the browser:

https://host_name:6789 where the host_name represents the name or IP address of the machine on which Lockhart and JESMF are running. Port number 6789 is the officially registered port reserved for Lockhart.

The Monitoring Console exposes the following through various data views:

The JESMC operates within real-time (given the inherent refresh restrictions of a browser). As a host is added to the scope of the console, installed and running JES component products are automatically discovered. As Component Products are discovered, the monitored objects that represent these products are visualized within the console. When the user refreshes the browser, the current JES installation and associated statistics are reflected in the console.

The Monitoring Console allows the user to set threshold values on any monitored object by creating a Monitoring Rule. An alarm is generated when a threshold value is crossed.

The JESMC is not a management console. No administrative commands, other than creating monitoring rules are possible.

In particular, the Console does not:

The Monitoring Console is composed of two elements:

Users expect JES to deliver an integrated management and monitoring system, which deliver the services they need in a reliable and predictable manner. The JESMF is a major step toward achieving this.

The benefits expected from JESMF architecture are:

For more information JESMF and JESMC, refer the Sun Java Enterprise System 5 Monitoring Guide in http://docs.sun.com.

Common Agent Container

Common agent container is a stand alone Java program that implements a container for Java management applications. Common agent container provides a management infrastructure designed for JMX and JDMK - based management functionality. Common agent container is designed to accept modules that extend an existing JMX or JDMK agent with new managed objects, connectors, or new functionality.

The Portal Server JESMF integration adds a common agent container module for itself.

Portal Server:JESMF Detailed Mapping

This section provides a list of attributes, which are used to map the Portal Server and JESMF.

CMM_InstalledProduct:PortalServer

Table 72–1 CMM_InstalledProduct:PortalServer

Attributes 

Portal Sever : JESMF integration common agent container module is identified as com.sun.cmm.ps module. JESMF uses common agent container module parameters from the deployment descriptor to initialize Portal Server : JESMF integration module. The module MBean ObjectName is of the form, com.sun.cacao:type=ModuleManager, instance=com.sun.cmm.ps with attributes initialized from common agent container deployment descriptor.

An example of Portal Server : JESMF integration common agent container deployment descriptor is listed below. 

<xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE module SYSTEM "urn:sun:n1:cacao:module:dtd:1_1">
<module name="com.sun.cmm.ps"
initial-administrative-state
="UNLOCKED">
	<description>
	PS:JESMF Integration Module
	</description>

	<module-dependencies>
		<instance-dependency dependency-type=
		"STRONG-DEPENDENCY">
			<name>
				com.sun.mfwk
			</name>
		</instance-dependency>
	</module-dependencies>

	<module-class>
			com.sun.mfwk.MfCPmodule
	</module-class>

	<cacao-version-supported>
			1.1
	</cacao-version-supported>

	<heap-requirements-kilobytes>
			100
	</heap-requirements-kilobytes>

		<parameters>
			<parameter>
				<param-name>ProductName</param-name>
				<param-value>Portal Server</param-value>
			</parameter>

					<parameter>
				<param-name>InstalledLocation</param-name>
				<param-value>/opt/SUNWportal</param-value>
			</parameter>

				<parameter>
				<param-name>BuildNumber</param-name>
				<param-value>7.1</param-value>
			</parameter>
   
			<parameter>
				<param-name>PatchID</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>RevisionNumber
				</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>InstallDate</param-name>
				<param-value>1160635803475
				</param-value>
			</parameter>

			<parameter>
				<param-name>Caption</param-name>
				<param-value>Portal Server
				</param-value>
			</parameter>

			<parameter>
				<param-name>Description</param-name>
				<param-value>Portal Server
				</param-value>
			</parameter>
   
			<parameter>
				<param-name>ProductIdentifyingNumber
				</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>ProductVendor
				</param-name>
				<param-value>SMI</param-value>
			</parameter>

			<parameter>
				<param-name>ProductVersion
				</param-name>
				<param-value>7.1</param-value>
			</parameter>
	</parameters>
</module>

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

CMM_RunningApplication AGGREG with

CMM_ApplicationSystem:PortalInstance as parent [1..*]

 

CMM_ApplicationSystem:PortalServerInstance

Table 72–2 CMM_ApplicationSystem:PortalServerInstance

Attributes 

Name=<portalDomain>.<portalID>.

<instanceID>

portalDomain is a String that identifies PortalDomain. Default value is

default.

portalId is a String that represents Portals context URI. Default value is portal1.

instanceId is a String that is typically set as WebContainer instance name, For example, <machineFQDN>-<httpPort>

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_RunningApplication AGGREG with CMM_InstalledProduct:PortalServer as child [1..*]

  • CMM_ApplicationSystemLogicalComponent COMP with CMM_LogicalComponent:Desktop as parent [1]

  • CMM_HostedService COMP with CMM_Service:Desktop as parent [1]

  • CMM_HostedAccessPoint COMP with CMM_ServiceAccessURI:DesktopServiceAccessURI as parent [1]

  • CMM_ResourceOfSystem COMP with CMM_ThreadPool:GetterPool as parent [1]

  • CMM_ResourceOfSystem COMP with CMM_ThreadPool:CallerPool as parent [1]

 

Portal Server:Desktop Detailed Mapping

CMM_LogicalComponent:Desktop

Table 72–3 CMM_LogicalComponent:Desktop

Attributes 

Name=<portalDomain>.<portalID>.

<instanceID>.Desktop

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_LogicalComponentHierarchy COMP with CMM_LogicalComponent:Provider as parent [1..*]

  • CMM_ServiceLogicalComponent ASSOC with CMM_Service:Desktop as parent [1]

  • CMM_ApplicationSystemLogicalComponent COMP with CMM_LogicalComponent:Desktop as child [1]

 

CMM_Service:Desktop

Table 72–4 CMM_Service:Desktop

Attributes 

Name=<portalDomain>.<portalID>.

<instanceId>.Desktop

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

 

Description=Aggregating content from content Providers and presenting it to client 

 

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceComponent COMP with 7 (sub-)services: CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception as parent [1 each]

  • CMM_ServiceResource ASSOC with CMM_ThreadPool:GetterPool as child [1]

  • CMM_ServiceResource ASSOC with CMM_ThreadPool:CallerPool as child [1]

  • CMM_HostedService COMP with CMM_ApplicationSystem:PortalInstance as child [1]

  • CMM_ServiceLogicalComponent ASSOC with CMM_LogicalComponent:Desktop as child [1]

 

CMM_ServiceAccessURI:DesktopServiceAccessURI

Table 72–5 CMM_ServiceAccessURI:DesktopServiceAccessURI

Attributes 

isSecured=false typically.

If HTTP protocol is used to access Desktop service, isSecured=false. If HTTPS protocol is used to access Desktop service, isSecured=true.

Settings 

CMM_ServiceAccessURISetting

 

Statistics 

CMM_ServiceAccessURIStats

Counts number of requests served at PS:Desktop URI with service and resident times.

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_HostedAccessPoint COMP with CMM_ApplicationSystem:PortalInstance as child [1]

 

CMM_LogicalComponent:Provider

Table 72–6 CMM_LogicalComponent:Provider

Attributes 

Name=<fullyQualifiedChannelName>

Fully Qualified Channel Name (FQCN) is typically of the form, name=<channelName>, class=<fullyQualifiedProviderClassName>.

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceLogicalComponent ASSOC with 3 CMM_Services CMM_Service:- Content, Edit, Process as parent [1 each]

  • CMM_LogicalComponentHierarchy COMP with CMM_LogicalComponent:Desktop as child [1..*]

 

CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception

Table 72–7 CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception

Attributes 

Name=<portalDomain>.<portalID>.

<instanceId>.Desktop.<Content>

| Edit | Process | Logout |

PreLogin | LocalAuth | Exception>

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

 

Description=<Presenting Content View to client | Presenting Edit View to client | Completing Edit processing | ...>

 

Settings 

CMM_PSRollingAvgServiceSetting

 

Statistics 

CMM_PSRollingAvgServiceStats

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceComponent COMP for the 7 (sub-)services: CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception as child with CMM_Service:Desktop [1 each]

  • CMM_ServiceServiceDependency ASSOC with CMM_Services: Content, Edit, Process as parent offered by CMM_LogicalComponent:Provider respectively [1 each].

 

CMM_Service:- Content, Edit, Process

Table 72–8 CMM_Service:- Content, Edit, Process

Attributes 

Name=<fullyQualifiedChannelName>

FQCN is typically of the form name=<channelName>, class=<fullyQualifiedProviderClassName>.

 

Description=<Presenting Content View of a channel | Presenting Edit View of a channel | Completing Edit processing of a channel>

 

Settings 

CMM_PSServiceSetting

 

Statistics 

CMM_PSServiceStats

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceLogicalComponent ASSOC of the 3 CMM_Services CMM_Service:- Content, Edit, Process as child to CMM_LogicalComponent:Provider [1 each]

  • CMM_ServiceServiceDependency ASSOC with CMM_Services: Content, Edit, Process as child offered by CMM_LogicalComponent:Desktop respectively [1 each].

 

CMM_ThreadPool:- GetterPool, CallerPool

Table 72–9 CMM_ThreadPool:- GetterPool, CallerPool

Attributes 

Name=<GetterPool | CallerPool>

 
 

Description=<Thread pool to invoke Provider.init() method | Thread pool to invoke Provider.getContent() method>

 

Settings 

CMM_ThreadPoolSetting

MaxThreadPoolSize

MinThreadPoolSize

ThreadPoolId=<PoolClassName>

Max-, Min-ThreadPoolSize are picked up from the /var/opt/SUNWportal/portals/<portalID>/config/desktopconfig.properties file.

PoolClassName identifies if it is a GetterPool or CallerPool. GetterPool threads are used to initialize Portal Server Desktop providers and CallerPool threads are used to run provider's getContent() method.

Statistics 

CMM_ThreadPoolStats

How many threads from the thread pool are present currently. 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceResource ASSOC with CMM_Service:Desktop as parent [1 each]

  • CMM_ResourceOfSystem COMP with CMM_ApplicationSystem:PortalInstance as child [1 each]

 

JESMF Extensions for Portal Server

The JESMF extensions for Portal Server product are:

CMM_PSServiceStats

CMM_PSRollingAvgServiceStats extends CMM_ServiceStats with the following two additional metrics:

Table 72–10 CMM_PSRollingAvgServiceStats

RollingAvgServiceTime

Rolling average of ServiceTime property of CMM_ServiceStats.

RollingAvgResidentTime

Rolling average of ResidentTime property of CMM_ServiceStats.

CMM_PSServiceSetting

CMM_PSRollingAvgServiceStats works with CMM_PSRollingAvgServiceSetting. CMM_PSRollingAvgServiceSetting extends CMM_ServiceSetting with the following two additional properties that help managing CMM_PSRollingAvgServiceStats:

Table 72–11 CMM_PSRollingAvgServiceStats

LowerBound

Minimum number of service requests after which rolling average metric comes into effect. Prior to LowerBound number of service requests, rolling average is a simple average. Default value is 100.

UpperBound

Number of service requests whose service or resident time is considered when calculating rolling average. Default value is 1000. 

Installing and Configuring Portal Server:JESMF Integration

In JES 5, the installation and configuration of Portal Server:JESMF integration occurs by default. If you need to upgrade the system to JES 5, then you require to install and configure. This section explains about how you can install and configure Portal Server:JESMF Integration.

PS:JESMF Integration depends on three JES shared components:

These shared components are part of JES 5. JES 4 supported earlier versions such as Jdmk5.1, Cacao1.1, and JESMF1.0. Use these components if you use JES 4. While upgrade, you need to first upgrade the shared components to JES 5 and then enable Portal Server:JESMF Integration.

For upgrade or migration, when Cacao2.0 or JESMF2.0 is not installed, then Portal Server:JESMF Integration should be disabled. This means that no configuration should happen for Portal Server:JESMF Integration.

    These are high level requirements to configure Portal Server:JESMF Integration:

  1. Copy /opt/SUNWportal/template/jesmf/com.sun.cmm.ps.xml to /tmp, and change the following tokens:

    • %ps.product.location%

    • %PRODUCT_VERSION%

    • %ps.install.datetime%

  2. Register JESMF 2.0 module using com.sun.cmm.ps.xml from <baseDir>/template/jesmf/com.sun.cmm.ps.xml. Following tokens should be replaced with correct values at config time in this file:

  3. InstallLocation should be set to install directory of portal. For example, on Solaris with default install location as /opt.

  4. InstalledDate should be set to current system time of configuration. For example, System.currentTimeMillis() value should be dumped as token value.


    Note –

    You need to use “<jesmfInstallDir>/bin/mfwksetup -r <path_to_com.sun.cmm.ps.xml>” to register Portal Server:JESMF common agent container module. This should happen only for the first instance for any portal getting created on this Operating System (OS) node. There is only one Portal Server:JESMF common agent container 2.0 module on one OS node.


  5. Check the web containers configuration to see if this jar (and jdmkrt.jar) is present in the server classpath. If it is not present, add it to web containers server classpath.

  6. Copy desktopmfwk.properties to /var/opt/SUNWportal/portals/<portalid>config/<instanceId> form <baseDir>/template/jesmf/desktopmfwk.properties.

  7. In the desktopmfwk.properties file, replace the %PS_DIR% token with install location. For example, /opt/SUNWportal on Solaris.

The Portal Server:JESMF Integration unconfiguration happens when a portal server instance is deleted from an OS-node. These are high level requirements to unconfigure Portal Server:JESMF Integration:

Enabling or Disabling Portal Server:JESMF Integration

This section explains how to enable or disable Portal Server:JESMF integration.

ProcedureTo Enable Portal Server:JESMF Integration:

  1. Set the com.sun.portal.mfwk.disable property in desktopmfwk.properties to “False”.

  2. Restart Portal Server to make the changes take effect.

ProcedureTo Disable Portal Server:JESMF Integration:

  1. Set the com.sun.portal.mfwk.disable property in desktopmfwk.properties to “True”.

  2. Restart Portal Server to make the changes take effect.