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.
This website uses cookies and similar tools, some of which are provided by third parties (together “tools”). These tools enable us and the third parties to access and record certain user-related and activity data and to track your interactions with this website. These tools and the informationcollected are used to operate and secure this website, enhance performance, enable certain website features and functionality, analyze and improve website performance, and personalize user experience.
If you click “Accept All”, you allow the deployment of all these tools and collection of the information by us and the third parties for all these purposes.
If you click “Decline All” your IP address and other information may still be collected but only by tools (including third party tools) that are necessary to operate, secure and enable default website features and functionalities. Review and change your preferences by clicking the “Configurations” at any time.