Skip to main content
ComponentsEngine
Availability2024.1 or later

What Is Monitored

Heap, map size, map memory

How It Works

JMX monitor per member

Deploy

Enable JMX, run the wizard

KPIs

Three KPIs with SLAs

Overview

GermainUX monitors the Hazelcast clusters your applications use for caching, sessions and shared data. For each member, you see how full its heap is, how many entries each map holds, and how much memory each map takes on that member. Three KPIs, default SLAs and a Hazelcast Overview dashboard come ready to use. Your team spots a map that grows without limit, or a member running short of heap, before it slows down or fails the applications that depend on it.

Heap per Member

Heap usage as a percentage of each member’s maximum heap, with an SLA at 75%.

Growth of Every Map

The number of entries in each of your maps, so a map without a time-to-live or a size limit stands out.

Memory per Map

The memory each map’s entries take on each member, to find which map is filling the heap.

Ready-Made Dashboard

A Hazelcast Overview dashboard with heap usage, peak heap, map size and map memory charts.

Questions It Answers

  • Which Hazelcast member is closest to running out of heap?
  • Which map is growing fastest, and since when?
  • Which map takes the most memory on each member?
  • Did a release change how much data a map holds?
  • Is the data spread evenly across the members?
  • When did heap usage last stay above 75%?

What Is Monitored

Analytics, Alerts and Automation

AI Analysis

Ask AI Explore questions such as “Which Hazelcast maps grew the most this week?” Outlier detection flags a map or a member whose memory jumps outside its normal range.

Dashboards and Reports

In the left menu, select Dashboards > All, and then open the Hazelcast Overview dashboard. It has four charts: Heap Usage by Member (%), Peak Heap Usage (%), Map Size by Map and Map Heap Size by Map. Each chart compares the selected period with the previous one. Click a chart to open its KPI and pivot by member or map. You can build your own dashboards and reports on the same KPIs.
Hazelcast Overview dashboard with heap usage by member, peak heap usage, map size by map and map heap size by map charts

Hazelcast Overview Dashboard - GermainUX

The analysis of a chart compares the period with the previous one and breaks the value down by member or map. For Heap Usage by Member (%), you see the average heap usage of each member and how much it changed.
Heap usage analysis with the average heap usage, the change against the previous period, and a breakdown by member hz-01, hz-02 and hz-03

Heap Usage Analysis by Member - GermainUX

For Map Size by Map, the analysis lists the maps that changed the most, so a map that suddenly grows stands out.
Map size analysis with the leading factors: the sessions map marked as a spike, product-cache as degraded and rate-limits as better

Map Size Analysis by Map - GermainUX

SLAs and Alerts

Each KPI comes with a default SLA, listed under KPIs. Get an alert by email, SMS, Slack or Teams when a member’s heap or a map stays over its limit.

Automation

When an SLA is breached, an automated action can run a diagnostic script, call an HTTP endpoint or open an incident.

How It Works

Hazelcast memberJMXHazelcast JMX MonitorKPIsAlerts
Each member has its own JMX connection, so you deploy one monitor for each member. The member’s host becomes the system name, which is how the KPIs and SLAs tell the members apart.

Before You Start

  • A GermainUX Engine can reach the JMX port of every Hazelcast member.
  • You can change the configuration and JVM options of the members, and restart them.
  • You have a JMX user name and password for the members, if JMX authentication is on.
  • Firewalls allow the Engine to reach the JMX and RMI ports.

Deploy

1

Turn on JMX in Hazelcast

Set the hazelcast.jmx property on every member, in the member configuration:
hazelcast.xml
You can also start the member with -Dhazelcast.jmx=true. See the Hazelcast monitoring documentation for details.
2

Open the JVM to remote JMX

Add the standard Java remote JMX options to each member’s JVM, and then restart the member:
Replace JMX_PORT with a free port, for example 9999, and MEMBER_HOST with the host name the Engine uses to reach the member. Turn on SSL when your security policy requires it.
3

Open the Java Monitor Deployment wizard

In the left menu, go to Settings > Wizards. On the Java Monitor Deployment card, click Add.
4

Choose the Hazelcast monitor

On the Monitoring step, fill in the fields, and then click Next.
Java Monitor Deployment wizard on the Monitoring step, with Hazelcast JMX Monitor selected as the Component Type

Java Monitor Deployment Wizard, Monitoring Step - GermainUX

5

Connect to the member

On the Connection step, select or create the URI of the member’s JMX endpoint, and then click Next:
When the Engine runs on the same server as the member, you can enter an Application Pattern that matches the member’s Java process name instead, and GermainUX attaches to the local JVM.
6

Deploy it to the Engine

On the Deployment step, enter a Monitor Name, such as Hazelcast hz-01, select the Monitoring Node and Engine, and set the schedule. The default, 0 0 * * * *, runs once an hour. An SLA trips after 5 violations in a row, so use 0 */5 * * * * to read the member every 5 minutes. Finish the wizard.
7

Repeat for the other members

Run the wizard once for each member of the cluster.

Validate

1

Wait for the first run

The monitor reads the member at its next scheduled time, for example within 5 minutes with 0 */5 * * * *.
2

Open the Hazelcast dashboard

In the left menu, select Dashboards > All, and then open Hazelcast Overview. Heap Usage by Member (%) shows one line for each member you deployed.
3

Check the maps

Map Size by Map shows one line for each of your maps, with its entry count.

Troubleshooting

Check that the Engine can open a connection to the member’s JMX port, and that the port in the URI matches com.sun.management.jmxremote.port. When the member sits behind NAT or has several network interfaces, set java.rmi.server.hostname to the address the Engine uses, and set com.sun.management.jmxremote.rmi.port to the same port.
The hazelcast.jmx property is off, so the member doesn’t publish its map MBeans. Set it to true and restart the member. Maps also appear only after the application has created them.
The credentials don’t match the JMX password file, or the user has no entry in the access file. Check both files on the member, and the Credentials selected in the wizard.
Hazelcast reports no memory cost for some map configurations. GermainUX skips readings without a memory value, so those maps show a size but no memory.

Security and Privacy

Hazelcast monitoring data includes:
  • System data: the host names of the members
  • Application data: the names of your maps
GermainUX reads sizes and memory figures only, not the entries stored in the maps. To mask, anonymize or exclude this data, see Data Privacy.

KPIs

Each SLA is breached after 5 violations in a row. Change the thresholds to fit your cluster. See KPIs and SLAs.

Java Monitoring

JVM metrics over JMX

Analytics

More Analytics Features

Automation

More Automation Features

Get Help

The GermainUX team can help you add other Hazelcast MBeans, such as queues, topics or partition data, to the monitor.

Contact GermainUX Support

The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

Can't Find What You Need?

Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.