Liferay bundles Glowroot, the open source Java application monitoring tool. The tool displays helpful statistics about your system (e.g. server requests, errors, etc.) with minimal overhead. Use Glowroot to troubleshoot issues and analyze performance issues.
Warning
If you are working in a clustered environment with multiple nodes of Liferay DXP, Glowroot data may be misleading.
Enable Glowroot with the GLOWROOT_ENABLED environment variable set to true. For example,
docker run -e GLOWROOT_ENABLED=true-it -m 8g-p 8080:8080 liferay/dxp:latest
If using a Tomcat bundle, run Glowroot from the command line. Navigate to your bundle’s $CATALINA_HOME/bin folder. Then execute ./catalina.sh glowroot run (or catalina.bat glowroot run on Windows).
To access Glowroot, first log in to your Liferay instance with your administrator account. Glowroot can only be accessed by users with an administrator role.
Navigate to http://localhost:8080/o/glowroot to access the dashboard.
By default, Glowroot is configured with an embedded collector that does not preserve data in the event of a JVM crash. Configure a central collector by creating a glowroot.properties file in your $LIFERAY_HOME/glowroot folder:
Glowroot can be configured to monitor Liferay upgrades. Create a config.json file and place it in your $LIFERAY_HOME/glowroot/ folder. Copy and paste the sample configuration below into the JSON file.
{"advanced":{"immediatePartialStoreThresholdSeconds":60,"maxProfileSamplesPerTransaction":50000,"maxQueryAggregates":500,"maxServiceCallAggregates":500,"maxTraceEntriesPerTransaction":2000,"maxTransactionAggregates":500,"mbeanGaugeNotFoundDelaySeconds":60},"gauges":[{"mbeanAttributes":[{"name":"HeapMemoryUsage.used"}],"mbeanObjectName":"java.lang:type=Memory"},{"mbeanAttributes":[{"counter":true,"name":"CollectionCount"},{"counter":true,"name":"CollectionTime"}],"mbeanObjectName":"java.lang:type=GarbageCollector,name=*"},{"mbeanAttributes":[{"name":"Usage.used"}],"mbeanObjectName":"java.lang:type=MemoryPool,name=*"},{"mbeanAttributes":[{"name":"FreePhysicalMemorySize"},{"name":"ProcessCpuLoad"},{"name":"SystemCpuLoad"}],"mbeanObjectName":"java.lang:type=OperatingSystem"}],"instrumentation":[{"alreadyInTransactionBehavior":"capture-new-transaction","captureKind":"transaction","className":"com.liferay.portal.kernel.upgrade.UpgradeStep","methodName":"upgrade","methodParameterTypes":[],"order":0,"timerName":"Upgrade Step Timer","traceEntryMessageTemplate":"Upgrade Step {{this.class.name}}","transactionNameTemplate":"Upgrade Step {{this.class.name}}","transactionType":"Upgrade"},{"alreadyInTransactionBehavior":"capture-new-transaction","captureKind":"transaction","className":"com.liferay.portal.kernel.upgrade.UpgradeProcess","methodName":"upgrade","methodParameterTypes":[],"order":0,"timerName":"Upgrade Process Timer","traceEntryMessageTemplate":"Upgrade Process {{this.class.name}}","transactionNameTemplate":"Upgrade Process {{this.class.name}}","transactionType":"Upgrade"}],"jvm":{"maskMBeanAttributes":["*password*"],"maskSystemProperties":["*password*"]},"plugins":[{"id":"cassandra","properties":{"stackTraceThresholdMillis":1000.0}},{"id":"elasticsearch","properties":{"stackTraceThresholdMillis":1000.0}},{"id":"java-http-server","properties":{"captureRequestHeaders":[],"captureRequestRemoteAddr":false,"captureRequestRemoteHost":false,"captureResponseHeaders":[],"maskRequestHeaders":["Authorization"],"traceErrorOn4xxResponseCode":false}},{"id":"jaxrs","properties":{"useAltTransactionNaming":false}},{"id":"jdbc","properties":{"captureBindParametersExcludes":[],"captureBindParametersIncludes":[".*"],"captureConnectionClose":false,"captureConnectionLifecycleTraceEntries":false,"captureConnectionPoolLeakDetails":false,"captureConnectionPoolLeaks":false,"captureGetConnection":true,"capturePreparedStatementCreation":false,"captureResultSetGet":false,"captureResultSetNavigate":true,"captureStatementClose":false,"captureTransactionLifecycleTraceEntries":false,"stackTraceThresholdMillis":1000.0}},{"id":"liferay-freemarker-templates-plugin","properties":{"instrumentationLevel":"INFO"}},{"id":"logger","properties":{"traceErrorOnErrorWithThrowable":true,"traceErrorOnErrorWithoutThrowable":false,"traceErrorOnWarningWithThrowable":false,"traceErrorOnWarningWithoutThrowable":false}},{"id":"mongodb","properties":{"stackTraceThresholdMillis":1000.0}},{"id":"play","properties":{"useAltTransactionNaming":false}},{"id":"servlet","properties":{"captureRequestHeaders":[],"captureRequestLocalAddr":false,"captureRequestLocalHostname":false,"captureRequestLocalPort":false,"captureRequestParameters":["*"],"captureRequestRemoteAddr":false,"captureRequestRemoteHostname":false,"captureRequestRemotePort":false,"captureRequestServerHostname":false,"captureRequestServerPort":false,"captureResponseHeaders":[],"captureSessionAttributes":[],"maskRequestParameters":["*password*"],"sessionUserAttribute":"","traceErrorOn4xxResponseCode":false}},{"id":"spring","properties":{"useAltTransactionNaming":false}}],"transactions":{"captureThreadStats":true,"profilingIntervalMillis":1000,"slowThresholdMillis":2000},"uiDefaults":{"defaultGaugeNames":["java.lang:type=Memory:HeapMemoryUsage.used"],"defaultPercentiles":[50.0,95.0,99.0],"defaultTransactionType":"Web"}}
Note that this configuration is needed for Glowroot to start when Liferay starts to monitor the upgrade. Trigger a Liferay upgrade with the auto upgrade feature.
Once the upgrade is complete, in Glowroot, a new transaction type called upgrade appears in the drop-down menu. Select Upgrade from the drop-down menu to view the dashboard.
We use cookies to deliver personalized content, analyze trends, administer the site, track user movements on the site, and collect demographic information about our user base as a whole. Accept all cookies for the best possible experience on our website or manage your preferences.
Visit our Privacy Policy