One of the most important things for any site is reliability and performance, to ensure the users are getting the best experience when accessing the site. The goal of monitoring is real-time visibility into the health and performance of the application in order to minimize the time it takes to discover and resolve a problem. HCL Commerce enables real-time monitoring and metrics through a framework that also includes Grafana dashboards to display the Commerce metrics.
Monitoring Framework:
There are three parts to the monitoring framework. The first is a fully customizable presentation layer that enables you to use your preferred tools to report and analyze your systems’ performance. The second, the Prometheus toolkit, provides flexibility for the presentation layer to be vendor neutral. It is considered an industry-standard data-representation language. Finally, Prometheus gets its data from the fully customizable Micrometer library, which “scrapes” the data from your containers.
Presentation Layer:
Since HCL uses the Grafana for reporting in our internal testing, we have provided these dashboards out of the box. They are available for download here and can be used when setting up your reporting dashboards for 9.1 Commerce Site. They are easily imported into Grafana to use “as is” or can be customized as needed. Grafana is deployed with Prometheus Operator and extends Prometheus’ basic charting capabilities. Most applications that support Prometheus also make Dashboards available like Redis, Nginx, Kubernetes and Kafka to name a few which can be found here.
Images of 3rd party dashboards
The Commerce Grafana dashboards include, Java, Rest Performance, Cache, Ingest and Store among others.
To demonstrate the dashboards, we did a small 50 user test to show how they can be used. We can monitor the state of the JVMs on any pod, by monitoring the CPU, Threads and Memory. It is easy to see if a problem arises with any of the JVMs in our Commerce Kubernetes Environment.
Java Detailed Metrics example
One of the most important metrics is the ability to monitor cache utilization as it will have a direct impact on the performance of a site. With HCL Cache, you have the ability to have local cache and remote caching with Redis. Here you can see an example of one of the dashboards that shows local cache. It allows you to drill down into specific caches and monitor size and hit/miss ratio. You can use the Redis dashboard to monitor the remote cache.
HCL Cache example
Another important metrics for performance is Rest performance. Since the implementation of Docker, most of the calls from storefront to backend services is via REST API calls. Being able to monitor their performance is critical to a successful site. As you can see, using the metric endpoints, we are able to see the type of REST calls made as well as the response time.
Rest Performance example
Prometheus:
Prometheus is a popular monitoring framework that is widely adopted by many monitoring tools. It is part of the Cloud Native Computing Foundation. Prometheus is a standard metric exposition format and a database to store metrics. One of the biggest advantages of using Prometheus framework is that you are not constrained by a single reporting tool. Most of the popular tools like Grafana, New Relic and others provide support for the Prometheus format. It uses a simple “text based” metric format: name{ label=value label=value}. 9.1 Commerce uses Prometheus Helm Chart
Prometheus metrics are the base for the OpenMetrics standard that is supported by several vendors. Scrapers automatically add labels to help identify the source:
Micrometer monitoring:
HCL Commerce uses Micrometer libraries to scrape data from each container that is enabled with a metric endpoint. All the containers within Commerce environment can be enabled for metrics and are enabled by default when using Commerce Helm Chart. Metrics can also be easily implemented from custom code. There are numerous predefined meters available, but one of the main advantages is the ability for users to customize and add their own meters. Timers, Gauges and Counters are all configurable and customizable to allow for monitoring on specific events and resources. For more information on enabling metrics in Commerce, please see Knowledge Center
As you can see the implementation of metrics in Commerce allows for real-time visibility into the health and performance of the site. HCL Commerce provides sample Grafana dashboards that can be used to help monitor your site. They show how the implementation of metrics can be utilized when setting up your monitoring reporting tool.
Start a Conversation with Us
We’re here to help you find the right solutions and support you in achieving your business goals.