Elastic Path Commerce Development

JMX Monitoring

JMX Monitoring

Elastic Path Commerce exposes application metrics via JMX (Java Monitoring Extensions).

Application JMX Metrics

The following JMX metrics are available:

Metrics JMX Path(s)
Camel statistics for asynchronous messaging
org.apache.camel
Core caching configuration and statistics - for both application and OpenJPA data caches
net.sf.ehcache
    CacheConfiguration
       <context>-CacheManager    
    CacheStatistics
       <context>-CacheManager
Cortex combined transaction statistics - counts, response times, rates
EP-RelOS
    EP-RelOS.<host>.COMBINED.ALL.<scope>
    EP-RelOS.<host>.COMBINED.CREATE.<scope>
    EP-RelOS.<host>.COMBINED.DELETE.<scope>
    EP-RelOS.<host>.COMBINED.READ.<scope>
    EP-RelOS.<host>.COMBINED.UPDATE.<scope>
Cortex per-resource transaction statistics - counts, response times, rates
EP-RelOS
    EP-RelOS.<host>.resource.<resourceName>.ALL.<scope>
    EP-RelOS.<host>.resource.<resourceName>.CREATE.<scope>
    EP-RelOS.<host>.resource.<resourceName>.DELETE.<scope>
    EP-RelOS.<host>.resource.<resourceName>.READ.<scope>
    EP-RelOS.<host>.resource.<resourceName>.UPDATE.<scope>
Cortex request scope caching
EP-RelOS
    EP-RelOS.<host>.RequestCache.*
Cortex executor statistics
EP-RelOS
    EP-RelOS.<host>.executorService.*
Quartz jobs in Batch Server and Search Server
quartz
    QuartzScheduler
        BatchJMXScheduler
        SearchServerJmxScheduler
Search Server indexing
com.elasticpath.search
Solr indexes
solr/<indexName>

Enabling JMX Remote Connections

To enable JMX remote connections to your production server:

  1. Open your server's startup script with a text editor.
  2. Modify JAVA_OPTS to include the following:
    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
    This will allow a JMX client to connect to port 6969.
  3. Restart the server.