In this chapter, the following topics are included:

Managing resources of eXo Platform is critical for IT operators and system administrators to monitor and supervise the production system.

The eXo Platform product is exposed as a manageable set of resources that can be inspected at runtime to monitor and manage servers.

When it comes to Java, the Java Management Extension (also known as JMX) is the de-facto standard to expose managed resources externally.

This chapter explains various resources provided by the eXo Platform server, possible management actions, and how to obtain relevant metrics.

JMX interface

The resources management is exposed via the JMX layer. eXo Platform registers a set of MBean entities in an MBeanServer.

At runtime, MBeans are registered by the eXo Kernel in the MBeanServer and directly viewable in the JMX console. However, it is strongly recommended that you use a better JMX client, such as JVisualVM, available since Java 6.

To enable JMX monitoring in Tomcat, you need to pass the following system property to the VM: -Dcom.sun.management.jmxremote.

REST interface

The built-in REST Management Provider of eXo Platform makes some of the MBeans operations accessible as REST endpoints. Administrators can handle the system simply with a browser without performing any complex configurations.

Only members of the platform/administrators group are given permission to work on the REST management. The authentication requires you to log in by your own account.

The base URL to access the REST endpoints is http://localhost:8080/rest/management, with the last one followed by the parameter parsed in the managed resource's @RESTEndpoint annotation, leading slash then targeted operation. Consider the SkinService, which is annotated @RESTEndpoint("skinservice"); the full URL to access JMX 'getSkinList' method through the REST request is http://localhost:8080/rest/management/skinservice/getSkinList.

See also

  • PortalContainer management view

    The management view of all objects and configurations of a given portal.

  • Cache management view

    The management view of eXo Platform caches at several levels that provides the critical performance information, especially useful for tuning the server.

  • Content management view

    The management view of WCMComposer, FriendlyService, WCMService.

  • JCR management view

    The management view of SessionRegistry, SessionRegistry, Repository, and Workspace that allow you to monitor sessions, locks, repository configurations, and workspace configurations respectively.

  • Portal management view

    A set of the Portal management views, including Template statistics, Template statistics, Template statistics, TokenStore, Portal statistics, and Application statistics.

  • Knowledge management view

    A set of the Knowledge management views, including Forum, Job, Plugin, Storage that allows you to control rules, statistics, information of data storage.

  • Collaboration management view

    The Collaboration management view that allows you to view some state information of Jobs used in itself.

See also

PortalContainer manages all objects and configurations of a given portal.

Attribute Description
ConfigurationXML Configuration information of the specified portal container in the XML format.
Name The name of the portal container.
RegisteredComponentNames The list of the registered component names.
Started Indicate the portal container is started or not.
Operation Description
getConfigurationXML Return configuration information of the portal container calculated by the loading mechanism. The returned value is an XML document in the eXo Kernel format.
getName Return the portal container name.
getRegisteredComponentNames Return the list of all registered component names.
isStarted Check if the portal container is started or not. The portal container is only started once all its components have been started.

eXo Platform uses caches at several levels. Monitoring them can provide the critical performance information, especially useful for tuning the server. Each cache is exposed with statistics and management operations.

Attribute Description
Name The name of the cache.
Capacity The maximum capacity of the cache.
HitCount The total number of times the cache was successfully queried.
MissCount The total number of times the cache was queried without success.
Size The number of entries in the cache.
TimeToLive The valid period of the cache entry in seconds. If the value is set to -1, the entries are never expired.
Operation Description
clearCache() Evict all entries from the cache. This method can be used to force a programmatic flush of the cache.
getName Return the cache name.
getLiveTime Return the valid lifetime of an entry in the cache in seconds.
setLiveTime Set the valid lifetime of an entry in the cache in seconds.
getCacheHit Return the total number of successful hits.
getCacheMiss Return the total number of unsuccessful hits.
getMaxSize Return the maximum capacity of the cache.
setMaxSize Set the maximum capacity of the cache.
getCacheSize Return the number of entries in the cache.

CacheManager

The CacheManager management view enables you to control different caches.

Operation Description
clearCaches() Force a programmatic flush of all the registered caches.

PicketLinkIDMCacheService

PicketLinkIDMCacheService is the default implementation for the organization model.

exo:portal="portal",service=PicketLinkIDMCacheService,name=plidmcache.

Operation Description
invalidateAll Invalidate all caches.
invalidate(namespace) Invalidate a specific cache namespace.

WCMComposer

WCMComposer is responsible for assembling pages, and is key for serving pages efficiently.

Attribute Description
Cached Indicate the cache is used or not.
CachedEntries The number of nodes in the cache.
UsedLanguages The list of all languages accessible in the composer.
UsedOrderBy The list of OrderBy properties accessible in the composer.
UsedPrimaryTypes The list of primary types accessible in the composer.
Operation Description
cleanTemplates Clean all templates in the composer.
setCached(iscached) Enable/Disable caching in the composer.
useDefaultLanguage Check if the default language is used in case the translation is not published.
getUsedPrimaryTypes Return the list of primary types accessible in the composer.
getCachedEntries Return the number of nodes in the cache.
isCached Check if the cache is used in the composer.
getUsedLanguages Return the list of all languages accessible in the composer.
getUsedOrderBy Return the list of OrderBy properties accessible in the composer.

FriendlyService

FriendlyService is to make URIs more friendly.

Attribute Description
Enabled Indicate the service is enabled or not.
Friendlies The list of registered Friendly URIs.
ServletName The name of the servlet referenced in the service.
Operation Description
addFriendly(friendlyUri, unfriendlyUri) Add a new Friendly Uri to the list with two parameters: friendlyUri and unfriendlyUri. The value entered in the friendlyUri field replaces that of the unfriendlyUri field.
removeFriendly(friendlyUri) Remove a friendly URI from the list by entering that Uri into the friendlyUri field.
isEnabled Check if the service is enabled or not. If the value is returned as "True", the service is enabled. If "False", the service is disabled.
setEnabled(isEnabled) Set the service as activated or deactivated by entering "True" or "False" respectively into the isEnabled field.
getServletName Return the name of servlet referenced in the service.
getFriendlies Return the list of registered friendly URIs.

WCMService

Attribute Description
PortletExpirationCache The expiration period of portlet cache in seconds.
Operation Description
getPortletExpirationCache Return the expiration period of porlet cache in seconds.
setPortletExpirationCache (expirationCache) Set the expiration period of portlet cache by entering the value into the expirationCache field.

Java Content Repository (JCR) provides a management view to monitor sessions, locks, repository configurations, and workspace configurations.

SessionRegistry

Attribute Description
TimeOut The expiration period of a JCR session.
Size The number of currently active sessions.
Operation Description
runCleanup Clean all JCR sessions timed out.
getTimeOut Return the timeout of a JCR session.
getSize Return the number of currently active sessions.

LockManager

LockManager stores lock objects and is reponsible for removing expired locks.

Attribute Description
NumLocks The number of active locks.
Operation Desription
cleanExpiredLocks Remove all expired JCR locks.
getNumLocks Return the number of active JCR locks.
Workspace Name Description
backup Data backed up.
collaboration Data of collaboration, such as sites content, documents, groups, records space, tags, and users.
dev-monit Data of the IDE application.
dms-system Data of DMS, including node types, templates, views, taxonomy trees.
knowledge Data of knowledge, including exo:applications, and groups.
pc-system State information of producer portlets and remote portlet registry.
portal-system Data of the Portal model objects, such as navigations, pages, portals, application registry.
portal-work Information of Gadget token and Remember me token.
social Data of Social, including activity, identity, profile, relationship and space.
system Data of system, including versions storage, node types, namespaces.
wsrp-system Data of remote portlets.

Repository

Attribute Description
Name The name of the repository container.
RegisteredComponentNames The list of registered component names in the repository.
Operation Description
getName Return the repository container name.
getRegisteredComponentNames Return the list of registered component names in the repository.

Workspace

Attribute Description
Name The name of the workspace container.
RegisteredComponentNames The list of registered component names in the workspace.
Operation Description
getName Return the workspace container name.
getRegisteredComponentNames Return the list of registered component names in the workspace.

Template statistics

Template statistics exposes various templates used by the portal and its components to render markups. Various statistics are available for individual templates, and aggregated statistics, such as the list of the slowest templates. Most management operations are performed on a single template; those operations take the template identifier as an argument.

Attribute Description
TemplateList The list of templates loaded.
SlowestTemplates The list of the 10 slowest templates.
MostExecutedTemplates The list of the 10 most used templates.
FastestTemplates The list of 10 fastest templates.
Operation Description
getAverageTime(templateId) Return the average rendering time of a specified template in seconds.
getExecutionCount(templateId) Return the number of times the specified template has been executed.
getMinTime(templateId) Return the minimum rendering time of the specified template in seconds.
getMaxTime(templateId) Return the maximum rendering time of the specified template in seconds.
getSlowestTemplates Return the list of the 10 slowest templates.
getMostExecutedTemplates Return the list of the 10 most used templates.
getTemplateList Return the list of templates loaded.
getFastestTemplates Return the list of the 10 fastest templates.

Template management

Template management provides the capability to force the reload of a specified template.

Operation Description
reloadTemplates Clear the template cache.
listCachedTemplates List identifiers of the cached templates.
reloadTemplate(templateId) Clear the template cache for a specified template identifier.

Skin management

Attribute Description
SkinList The list of loaded skins by the skin service.
Operation Description
reloadSkin(skinId) Force a reload of the specified skin and the operation.
reloadSkins Force a reload of the loaded skins.
getSkinList Return the list of loaded skins by the skin service.

TokenStore

Attribute Description
Name The name of one specific token.
ValidityTime The expiration period of one specific token in seconds.
PeriodTime The expiration daemon period of one specific token in seconds. The token is deleted after the specified period.
Operation Description
cleanExpiredTokens Remove all expired tokens.
size Return the number of tokens, including valid tokens and expired tokens undeleted yet.
getName Return the token name.
getValidityTime Return the expiration time of one specific token in seconds.
getPeriodTime Return the expiration daemon period of one specific token in seconds.

eXo Platform provides the following TokenStore instances:

Token Name Description
gadget-token Store tokens of the Oauth gadget into the JCR node, such as org.exoplatform.portal. gadget.core.Gadget TokenInfoService.
jcr-token Store common tokens into the JCR node, such as org.exoplatform.web.security. security.CookieTokenService, and org.exoplatform.web.security.security.Rem indPasswordTokenService.
memory-token Store temporary tokens into the transient memory, such as org.exoplatform.web. security.security.TransientTokenService.
getPortalList Return the list of identifiers of all loaded portals.

Portal statistics

Attribute Description
PortalList The list of identifiers of loaded portals.
Operation Description
getThroughput(portalId) Return the number of requests for the specified portal per second.
getAverageTime(portalId) Return the average execution time of the specified portal in seconds.
getExecutionCount(portalId) Return the number of times the specified portal has been executed.
getMinTime(portalId) Return the minimum time of the specified portal in seconds.
getMaxTime(portalId) Return the maximum time of the specified portal in seconds.
getPortalList Return the list of identifiers of loaded portals.

Application statistics

Various applications are exposed to provide relevant statistics.

Attribute Description
ApplicationList The list of loaded applications.
SlowestApplications The list of the 10 slowest applications.
MostExecutedApplications The list of the 10 most executed applications.
FastestApplications The list of the 10 fastest applications.
Operation Description
getAverageTime(applicationId) Return the average time spent of the specified application.
getExecutionCount(applicationId) Return the number of times the specified application has been executed.
getMinTime(applicationId) Return the minimum time spent of the specified application.
getMaxTime(applicationId) Return the maximum time spent of the specified application.
getSlowestApplications Return the list of the 10 slowest applications.
getMostExecutedApplications Return the list of the 10 most executed applications.
getFastestApplications Return the list of the 10 fastest applications.
getApplicationList Return the list of application identifiers classified in the alphabetic order.

The Knowledge application provides a management view, enabling you to control rules, statistics, information of data storage in Forum and Answers.

Forum

With the Forum Service management view, you can view ADMIN rules, statistics, such as the number of online users, and information of Mail Service configuration.

Attribute Description
AdminRules The list of rules defining administrators.
ContactProvider The string containing the specific ContactProvider implementation name which provides user profile to the forum, including: org.exoplatform.ks.com mon.user.BusinessProfileContactProvider, org.exoplatform.ks.common.user.DefaultCo ntactProvider,org.exoplatform.ks.common. user.PersonalProfileContactProvider.
MailServiceConfig The string containing the configuration of the Mail service used for the notifications in Knowledge.
OnlineUsers The list of currently online users.
Operation Description
countOnlineUsers Return the number of currently online users.
hasForumAdminRole(String username) Check if the user is the forum administrator or not.
getAdminRules Return the list of rules defining administrators.
getOnlineUsers Return the list of online users.
getContactProvider Return the name of a specific ContactProvider implementation.
setContactProvider(String contactProviderClassName Set a specific ContactProvider implementation. The user profile on portal is obtained to populate into that of Forum.
getMailServiceConfig Return the Mail service configuration used to send notifications in Knowledge.

Job

The Job management view enables you to view state information of Jobs used in Knowledge.

Attribute Description
DataMap The map containing the state information for Job instances.
Name The name of the Job.
Operation Description
getName Return the names of Job instances.
getDataMap Return the state information of Job instances.

Knowledge provides the following Job instances:

Job Description
DeactiveJob Deactivate topics which meet TWO predefined deactivation properties: inactiveDays and forumName in Forum.
LoginJob Update information of users logged in, serving for statistics.
NotifyJob Send email notifications in Answers.
RecountActiveUserJob Indicate the number of active users in Forum.
SendMailJob Send email notifications in Forum.
UpdateDataJob Update Forum statistics, such as posts or topics of users.

Plugin

The Knowledge application provides the following plugins:

The JMX name template of RoleRulesPlugin MBeans: exo:portal="portal",service=forum,view=plugins,name="add.role.rules.plugin".

Attribute Description
AllRules The list of all rules of RoleRulesPlugin. For example, the rule defining 'root' user as an administrator follows the form of ADMIN=root.
Description The brief description of RoleRulesPlugin functions.
Name The name of RoleRulesPlugin.
RuleNames The list of possible rule names; for example, the rule defining administrators is named ADMIN.
Operation Description
addRule Add a rule. For example, to add the ADMIN rule for the 'demo' user, you need to input two parameters: ADMIN in the p1 and demo in the p2.
getRules Return the list of rules defining the user with the role inputed in p1.
getName Return the name of the plugin.
getRuleNames Return the list of possible rule names. For example, if 'demo' and 'mary' are defined as ADMIN (ADMIN=demo, mary), the list of returned rule names will be ADMIN.
getDescription Return the brief description of the plugin.
getAllRules Return all rules added to the plugin.

The JMX name template of BBCodePlugin MBeans: exo:portal="portal",service=ks,view=plugins,name="forum.default.bbcodes".

Attribute Description
BBCodes The list of BBCodes defined in the plugin.
Operation Description
getBBCodes Return the list of BBCodes. The Forum application currently provides the following BBCodes: [URL], [JUSTIFY], [B], [HIGHLIGHT], [I], [U], [RIGHT], [EMAIL], [LIST], [COLOR], [CENTER], [CODE], [QUOTE], [CSS], [LEFT], [FONT], [GOTO], [SIZE], [SLIDESHARE], [IMG], [WIKI].

The JMX name template of ForumInitialDataPlugin MBeans: exo:portal="portal",service=forum,view=plugins,name={Name}.

Attribute Description
Location The location where the Forum export file is stored.
Operation Description
getLocation Return the location where the Forum export file is stored, for example war:/data/forum/data-full-forum.zip.

The JMX name template of InitialDataPlugin MBeans: exo:portal="portal",service=faq,view=plugins,name= {Name} .

Attribute Description
Location The location where the FAQ export file is stored.
Operation Description
getLocation Return the location where the FAQ export file is stored, for example war:/data/Technical-FAQ.zip.
isForceXML Indicate if the data loaded from the FAQ export file should override any data found in the existing database.

Storage

The Storage management view enables you to get storage information in Knowledge, such as data path, repository and workspace.

Attribute Description
Path The JCR data path of the Forum Storage.
Repository The name of repository containing the workspace where Forum data are stored.
Workspace The name of workspace containing Forum data.
Operation Description
getRepository Return the name of repository of the Forum Storage.
getWorkspace Return the name of workspace of the Forum Storage.
getPath Return the JCR data path of the Forum Storage.

The Collaboration application provides a management view, enabling you to view some state information of Jobs used in itself.

Attribute Description
DataMap The map containing the state information for the Job instances.
Name The name of the Job.
Operation Description
getName Return the name of Job instances.
getDataMap Return the state information of Job instances.

The Collaboration application provides the following Job instances:

Job Name Description
PopupReminderJob Show pop-up reminders in the Calendar application.
ReminderJob Send email reminders in the Calendar application.
messageToHistoricalMessageJob Save messages in the Chat application in the data storage of Collaboration.
Copyright © 2009-2012. All rights reserved. eXo Platform SAS