Apache Ignite

Apache Ignite is a distributed database for high-performance computing with in-memory speed. Ignite was open-sourced by GridGain Systems in late 2014 and accepted in the Apache Incubator program that same year.

Available solutions




This template is for Zabbix version: 7.0

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/ignite_jmx?at=release/7.0

Ignite by JMX

Overview

Official JMX Template for Apache Ignite computing platform. This template is based on the original template developed by Igor Akkuratov, Senior Engineer at GridGain Systems and Apache Ignite Contributor.

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • Ignite 2.9.0

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

This template works with standalone and cluster instances. Metrics are collected by JMX. All metrics are discoverable.

  1. Enable and configure JMX access to Apache Ignite. See documentation for instructions. Current JMX tree hierarchy contains classloader by default. Add the following jvm option -DIGNITE_MBEAN_APPEND_CLASS_LOADER_ID=falseto will exclude one level with Classloader name. You can configure Cache and Data Region metrics which you want using official guide.
  2. Set the user name and password in host macros {$IGNITE.USER} and {$IGNITE.PASSWORD}.

Macros used

Name Description Default
{$IGNITE.PASSWORD} <secret>
{$IGNITE.USER} zabbix
{$IGNITE.LLD.FILTER.THREAD.POOL.MATCHES}

Filter of discoverable thread pools.

.*
{$IGNITE.LLD.FILTER.THREAD.POOL.NOT_MATCHES}

Filter to exclude discovered thread pools.

Macro too long. Please see the template.
{$IGNITE.LLD.FILTER.DATA.REGION.MATCHES}

Filter of discoverable data regions.

.*
{$IGNITE.LLD.FILTER.DATA.REGION.NOT_MATCHES}

Filter to exclude discovered data regions.

^(sysMemPlc|TxLog)$
{$IGNITE.LLD.FILTER.CACHE.MATCHES}

Filter of discoverable cache groups.

.*
{$IGNITE.LLD.FILTER.CACHE.NOT_MATCHES}

Filter to exclude discovered cache groups.

CHANGE_IF_NEEDED
{$IGNITE.THREAD.QUEUE.MAX.WARN}

Threshold for thread pool queue size. Can be used with thread pool name as context.

1000
{$IGNITE.PME.DURATION.MAX.WARN}

The maximum PME duration in ms for warning trigger expression.

10000
{$IGNITE.PME.DURATION.MAX.HIGH}

The maximum PME duration in ms for high trigger expression.

60000
{$IGNITE.THREADS.COUNT.MAX.WARN}

The maximum number of running threads for trigger expression.

1000
{$IGNITE.JOBS.QUEUE.MAX.WARN}

The maximum number of queued jobs for trigger expression.

10
{$IGNITE.CHECKPOINT.PUSED.MAX.HIGH}

The maximum percent of checkpoint buffer utilization for high trigger expression.

80
{$IGNITE.CHECKPOINT.PUSED.MAX.WARN}

The maximum percent of checkpoint buffer utilization for warning trigger expression.

66
{$IGNITE.DATA.REGION.PUSED.MAX.HIGH}

The maximum percent of data region utilization for high trigger expression.

90
{$IGNITE.DATA.REGION.PUSED.MAX.WARN}

The maximum percent of data region utilization for warning trigger expression.

80

LLD rule Ignite kernal metrics

Name Description Type Key and additional info
Ignite kernal metrics JMX agent jmx.discovery[beans,"org.apache:group=Kernal,name=IgniteKernal,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Ignite kernal metrics

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Uptime

Uptime of Ignite instance.

JMX agent jmx["{#JMXOBJ}",UpTime]

Preprocessing

  • Custom multiplier: 0.001

[{#JMXIGNITEINSTANCENAME}]: Version

Version of Ignite instance.

JMX agent jmx["{#JMXOBJ}",FullVersion]

Preprocessing

  • Regular expression: (.*)-\d+ \1

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Local node ID

Unique identifier for this node within grid.

JMX agent jmx["{#JMXOBJ}",LocalNodeId]

Preprocessing

  • Discard unchanged with heartbeat: 3h

Trigger prototypes for Ignite kernal metrics

Name Description Expression Severity Dependencies and additional info
Ignite: [{#JMXIGNITEINSTANCENAME}]: has been restarted

Uptime is less than 10 minutes.

last(/Ignite by JMX/jmx["{#JMXOBJ}",UpTime])<10m Info Manual close: Yes
Ignite: [{#JMXIGNITEINSTANCENAME}]: Failed to fetch info data

Zabbix has not received data for items for the last 10 minutes.

nodata(/Ignite by JMX/jmx["{#JMXOBJ}",UpTime],10m)=1 Warning Manual close: Yes
Ignite: [{#JMXIGNITEINSTANCENAME}]: Version has changed

[{#JMXIGNITEINSTANCENAME}] version has changed. Acknowledge to close the problem manually.

last(/Ignite by JMX/jmx["{#JMXOBJ}",FullVersion],#1)<>last(/Ignite by JMX/jmx["{#JMXOBJ}",FullVersion],#2) and length(last(/Ignite by JMX/jmx["{#JMXOBJ}",FullVersion]))>0 Info Manual close: Yes

LLD rule Cluster metrics

Name Description Type Key and additional info
Cluster metrics JMX agent jmx.discovery[beans,"org.apache:group=Kernal,name=ClusterMetricsMXBeanImpl,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Cluster metrics

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Nodes, Baseline

Total baseline nodes that are registered in the baseline topology.

JMX agent jmx["{#JMXOBJ}",TotalBaselineNodes]

Preprocessing

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Nodes, Active baseline

The number of nodes that are currently active in the baseline topology.

JMX agent jmx["{#JMXOBJ}",ActiveBaselineNodes]

Preprocessing

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Nodes, Client

The number of client nodes in the cluster.

JMX agent jmx["{#JMXOBJ}",TotalClientNodes]

Preprocessing

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Nodes, total

Total number of nodes.

JMX agent jmx["{#JMXOBJ}",TotalNodes]

Preprocessing

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Nodes, Server

The number of server nodes in the cluster.

JMX agent jmx["{#JMXOBJ}",TotalServerNodes]

Preprocessing

  • Discard unchanged with heartbeat: 3h

Trigger prototypes for Cluster metrics

Name Description Expression Severity Dependencies and additional info
Ignite: [{#JMXIGNITEINSTANCENAME}]: Server node left the topology

One or more server node left the topology. Acknowledge to close the problem manually.

change(/Ignite by JMX/jmx["{#JMXOBJ}",TotalServerNodes])<0 Warning Manual close: Yes
Ignite: [{#JMXIGNITEINSTANCENAME}]: Server node added to the topology

One or more server node added to the topology. Acknowledge to close the problem manually.

change(/Ignite by JMX/jmx["{#JMXOBJ}",TotalServerNodes])>0 Info Manual close: Yes
Ignite: [{#JMXIGNITEINSTANCENAME}]: There are nodes is not in topology

One or more server node left the topology. Acknowledge to close the problem manually.

last(/Ignite by JMX/jmx["{#JMXOBJ}",TotalServerNodes])>last(/Ignite by JMX/jmx["{#JMXOBJ}",TotalBaselineNodes]) Info Manual close: Yes

LLD rule Local node metrics

Name Description Type Key and additional info
Local node metrics JMX agent jmx.discovery[beans,"org.apache:group=Kernal,name=ClusterLocalNodeMetricsMXBeanImpl,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Local node metrics

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Jobs cancelled, current

Number of cancelled jobs that are still running.

JMX agent jmx["{#JMXOBJ}",CurrentCancelledJobs]
[{#JMXIGNITEINSTANCENAME}]: Jobs rejected, current

Number of jobs rejected after more recent collision resolution operation.

JMX agent jmx["{#JMXOBJ}",CurrentRejectedJobs]
[{#JMXIGNITEINSTANCENAME}]: Jobs waiting, current

Number of queued jobs currently waiting to be executed.

JMX agent jmx["{#JMXOBJ}",CurrentWaitingJobs]
[{#JMXIGNITEINSTANCENAME}]: Jobs active, current

Number of currently active jobs concurrently executing on the node.

JMX agent jmx["{#JMXOBJ}",CurrentActiveJobs]
[{#JMXIGNITEINSTANCENAME}]: Jobs executed, rate

Total number of jobs handled by the node per second.

JMX agent jmx["{#JMXOBJ}",TotalExecutedJobs]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: Jobs cancelled, rate

Total number of jobs cancelled by the node per second.

JMX agent jmx["{#JMXOBJ}",TotalCancelledJobs]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: Jobs rejects, rate

Total number of jobs this node rejects during collision resolution operations since node startup per second.

JMX agent jmx["{#JMXOBJ}",TotalRejectedJobs]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: PME duration, current

Current PME duration in milliseconds.

JMX agent jmx["{#JMXOBJ}",CurrentPmeDuration]
[{#JMXIGNITEINSTANCENAME}]: Threads count, current

Current number of live threads.

JMX agent jmx["{#JMXOBJ}",CurrentThreadCount]
[{#JMXIGNITEINSTANCENAME}]: Heap memory used

Current heap size that is used for object allocation.

JMX agent jmx["{#JMXOBJ}",HeapMemoryUsed]

Trigger prototypes for Local node metrics

Name Description Expression Severity Dependencies and additional info
Ignite: [{#JMXIGNITEINSTANCENAME}]: Number of queued jobs is too high

Number of queued jobs is over {$IGNITE.JOBS.QUEUE.MAX.WARN}.

min(/Ignite by JMX/jmx["{#JMXOBJ}",CurrentWaitingJobs],15m) > {$IGNITE.JOBS.QUEUE.MAX.WARN} Warning
Ignite: [{#JMXIGNITEINSTANCENAME}]: PME duration is too long

PME duration is over {$IGNITE.PME.DURATION.MAX.WARN}ms.

min(/Ignite by JMX/jmx["{#JMXOBJ}",CurrentPmeDuration],5m) > {$IGNITE.PME.DURATION.MAX.WARN} Warning Depends on:
  • Ignite: [{#JMXIGNITEINSTANCENAME}]: PME duration is too long
Ignite: [{#JMXIGNITEINSTANCENAME}]: PME duration is too long

PME duration is over {$IGNITE.PME.DURATION.MAX.HIGH}ms. Looks like PME is hung.

min(/Ignite by JMX/jmx["{#JMXOBJ}",CurrentPmeDuration],5m) > {$IGNITE.PME.DURATION.MAX.HIGH} High
Ignite: [{#JMXIGNITEINSTANCENAME}]: Number of running threads is too high

Number of running threads is over {$IGNITE.THREADS.COUNT.MAX.WARN}.

min(/Ignite by JMX/jmx["{#JMXOBJ}",CurrentThreadCount],15m) > {$IGNITE.THREADS.COUNT.MAX.WARN} Warning Depends on:
  • Ignite: [{#JMXIGNITEINSTANCENAME}]: PME duration is too long

LLD rule TCP discovery SPI

Name Description Type Key and additional info
TCP discovery SPI JMX agent jmx.discovery[beans,"org.apache:group=SPIs,name=TcpDiscoverySpi,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for TCP discovery SPI

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Coordinator

Current coordinator UUID.

JMX agent jmx["{#JMXOBJ}",Coordinator]

Preprocessing

  • Discard unchanged with heartbeat: 3h

[{#JMXIGNITEINSTANCENAME}]: Nodes left

Nodes left count.

JMX agent jmx["{#JMXOBJ}",NodesLeft]
[{#JMXIGNITEINSTANCENAME}]: Nodes joined

Nodes join count.

JMX agent jmx["{#JMXOBJ}",NodesJoined]
[{#JMXIGNITEINSTANCENAME}]: Nodes failed

Nodes failed count.

JMX agent jmx["{#JMXOBJ}",NodesFailed]
[{#JMXIGNITEINSTANCENAME}]: Discovery message worker queue

Message worker queue current size.

JMX agent jmx["{#JMXOBJ}",MessageWorkerQueueSize]
[{#JMXIGNITEINSTANCENAME}]: Discovery reconnect, rate

Number of times node tries to (re)establish connection to another node per second.

JMX agent jmx["{#JMXOBJ}",ReconnectCount]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: TotalProcessedMessages

The number of messages received per second.

JMX agent jmx["{#JMXOBJ}",TotalProcessedMessages]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: Discovery messages received, rate

The number of messages processed per second.

JMX agent jmx["{#JMXOBJ}",TotalReceivedMessages]

Preprocessing

  • Change per second

Trigger prototypes for TCP discovery SPI

Name Description Expression Severity Dependencies and additional info
Ignite: [{#JMXIGNITEINSTANCENAME}]: Coordinator has changed

[{#JMXIGNITEINSTANCENAME}] version has changed. Acknowledge to close the problem manually.

last(/Ignite by JMX/jmx["{#JMXOBJ}",Coordinator],#1)<>last(/Ignite by JMX/jmx["{#JMXOBJ}",Coordinator],#2) and length(last(/Ignite by JMX/jmx["{#JMXOBJ}",Coordinator]))>0 Warning Manual close: Yes

LLD rule TCP Communication SPI metrics

Name Description Type Key and additional info
TCP Communication SPI metrics JMX agent jmx.discovery[beans,"org.apache:group=SPIs,name=TcpCommunicationSpi,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for TCP Communication SPI metrics

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Communication outbound messages queue

Outbound messages queue size.

JMX agent jmx["{#JMXOBJ}",OutboundMessagesQueueSize]
[{#JMXIGNITEINSTANCENAME}]: Communication messages received, rate

The number of messages received per second.

JMX agent jmx["{#JMXOBJ}",ReceivedMessagesCount]

Preprocessing

  • Change per second
[{#JMXIGNITEINSTANCENAME}]: Communication messages sent, rate

The number of messages sent per second.

JMX agent jmx["{#JMXOBJ}",SentMessagesCount]

Preprocessing

  • Change per second

LLD rule Transaction metrics

Name Description Type Key and additional info
Transaction metrics JMX agent jmx.discovery[beans,"org.apache:group=TransactionMetrics,name=TransactionMetricsMxBeanImpl,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Transaction metrics

Name Description Type Key and additional info
[{#JMXIGNITEINSTANCENAME}]: Locked keys

The number of keys locked on the node.

JMX agent jmx["{#JMXOBJ}",LockedKeysNumber]
[{#JMXIGNITEINSTANCENAME}]: Transactions owner, current

The number of active transactions for which this node is the initiator.

JMX agent jmx["{#JMXOBJ}",OwnerTransactionsNumber]
[{#JMXIGNITEINSTANCENAME}]: Transactions holding lock, current

The number of active transactions holding at least one key lock.

JMX agent jmx["{#JMXOBJ}",TransactionsHoldingLockNumber]
[{#JMXIGNITEINSTANCENAME}]: Transactions rolledback, rate

The number of transactions which were rollback per second.

JMX agent jmx["{#JMXOBJ}",TransactionsRolledBackNumber]
[{#JMXIGNITEINSTANCENAME}]: Transactions committed, rate

The number of transactions which were committed per second.

JMX agent jmx["{#JMXOBJ}",TransactionsCommittedNumber]

LLD rule Cache metrics

Name Description Type Key and additional info
Cache metrics JMX agent jmx.discovery[beans,"org.apache:name="org.apache.ignite.internal.processors.cache.CacheLocalMetricsMXBeanImpl",*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 3h

Item prototypes for Cache metrics

Name Description Type Key and additional info
Cache group [{#JMXGROUP}]: Cache gets, rate

The number of gets to the cache per second.

JMX agent jmx["{#JMXOBJ}",CacheGets]

Preprocessing

  • Change per second
Cache group [{#JMXGROUP}]: Cache puts, rate

The number of puts to the cache per second.

JMX agent jmx["{#JMXOBJ}",CachePuts]

Preprocessing

  • Change per second
Cache group [{#JMXGROUP}]: Cache removals, rate

The number of removals from the cache per second.

JMX agent jmx["{#JMXOBJ}",CacheRemovals]

Preprocessing

  • Change per second
Cache group [{#JMXGROUP}]: Cache hits, pct

Percentage of successful hits.

JMX agent jmx["{#JMXOBJ}",CacheHitPercentage]
Cache group [{#JMXGROUP}]: Cache misses, pct

Percentage of accesses that failed to find anything.

JMX agent jmx["{#JMXOBJ}",CacheMissPercentage]
Cache group [{#JMXGROUP}]: Cache transaction commits, rate

The number of transaction commits per second.

JMX agent jmx["{#JMXOBJ}",CacheTxCommits]

Preprocessing

  • Change per second
Cache group [{#JMXGROUP}]: Cache transaction rollbacks, rate

The number of transaction rollback per second.

JMX agent jmx["{#JMXOBJ}",CacheTxRollbacks]

Preprocessing

  • Change per second
Cache group [{#JMXGROUP}]: Cache size

The number of non-null values in the cache as a long value.

JMX agent jmx["{#JMXOBJ}",CacheSize]
Cache group [{#JMXGROUP}]: Cache heap entries

The number of entries in heap memory.

JMX agent jmx["{#JMXOBJ}",HeapEntriesCount]

Preprocessing

  • Change per second

Trigger prototypes for Cache metrics

Name Description Expression Severity Dependencies and additional info
Ignite: Cache group [{#JMXGROUP}]: There are no success transactions for cache for 5m min(/Ignite by JMX/jmx["{#JMXOBJ}",CacheTxRollbacks],5m)>0 and max(/Ignite by JMX/jmx["{#JMXOBJ}",CacheTxCommits],5m)=0 Average
Ignite: Cache group [{#JMXGROUP}]: Success transactions less than rollbacks for 5m min(/Ignite by JMX/jmx["{#JMXOBJ}",CacheTxRollbacks],5m) > max(/Ignite by JMX/jmx["{#JMXOBJ}",CacheTxCommits],5m) Warning Depends on:
  • Ignite: Cache group [{#JMXGROUP}]: There are no success transactions for cache for 5m
Ignite: Cache group [{#JMXGROUP}]: All entries are in heap

All entries are in heap. Possibly you use eager queries it may cause out of memory exceptions for big caches. Acknowledge to close the problem manually.

last(/Ignite by JMX/jmx["{#JMXOBJ}",CacheSize])=last(/Ignite by JMX/jmx["{#JMXOBJ}",HeapEntriesCount]) Info Manual close: Yes

LLD rule Data region metrics

Name Description Type Key and additional info
Data region metrics JMX agent jmx.discovery[beans,"org.apache:group=DataRegionMetrics,*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 3h

Item prototypes for Data region metrics

Name Description Type Key and additional info
Data region {#JMXNAME}: Allocation, rate

Allocation rate (pages per second) averaged across rateTimeInternal.

JMX agent jmx["{#JMXOBJ}",AllocationRate]
Data region {#JMXNAME}: Allocated, bytes

Total size of memory allocated in bytes.

JMX agent jmx["{#JMXOBJ}",TotalAllocatedSize]
Data region {#JMXNAME}: Dirty pages

Number of pages in memory not yet synchronized with persistent storage.

JMX agent jmx["{#JMXOBJ}",DirtyPages]
Data region {#JMXNAME}: Eviction, rate

Eviction rate (pages per second).

JMX agent jmx["{#JMXOBJ}",EvictionRate]
Data region {#JMXNAME}: Size, max

Maximum memory region size defined by its data region.

JMX agent jmx["{#JMXOBJ}",MaxSize]
Data region {#JMXNAME}: Offheap size

Offheap size in bytes.

JMX agent jmx["{#JMXOBJ}",OffHeapSize]
Data region {#JMXNAME}: Offheap used size

Total used offheap size in bytes.

JMX agent jmx["{#JMXOBJ}",OffheapUsedSize]
Data region {#JMXNAME}: Pages fill factor

The percentage of the used space.

JMX agent jmx["{#JMXOBJ}",PagesFillFactor]
Data region {#JMXNAME}: Pages replace, rate

Rate at which pages in memory are replaced with pages from persistent storage (pages per second).

JMX agent jmx["{#JMXOBJ}",PagesReplaceRate]
Data region {#JMXNAME}: Used checkpoint buffer size

Used checkpoint buffer size in bytes.

JMX agent jmx["{#JMXOBJ}",UsedCheckpointBufferSize]
Data region {#JMXNAME}: Checkpoint buffer size

Total size in bytes for checkpoint buffer.

JMX agent jmx["{#JMXOBJ}",CheckpointBufferSize]

Trigger prototypes for Data region metrics

Name Description Expression Severity Dependencies and additional info
Ignite: Data region {#JMXNAME}: Node started to evict pages

You store more data than region can accommodate. Data started to move to disk it can make requests work slower. Acknowledge to close the problem manually.

min(/Ignite by JMX/jmx["{#JMXOBJ}",EvictionRate],5m)>0 Info Manual close: Yes
Ignite: Data region {#JMXNAME}: Data region utilization is too high

Data region utilization is high. Increase data region size or delete any data.

min(/Ignite by JMX/jmx["{#JMXOBJ}",OffheapUsedSize],5m)/last(/Ignite by JMX/jmx["{#JMXOBJ}",OffHeapSize])*100>{$IGNITE.DATA.REGION.PUSED.MAX.WARN} Warning Depends on:
  • Ignite: Data region {#JMXNAME}: Data region utilization is too high
Ignite: Data region {#JMXNAME}: Data region utilization is too high

Data region utilization is high. Increase data region size or delete any data.

min(/Ignite by JMX/jmx["{#JMXOBJ}",OffheapUsedSize],5m)/last(/Ignite by JMX/jmx["{#JMXOBJ}",OffHeapSize])*100>{$IGNITE.DATA.REGION.PUSED.MAX.HIGH} High
Ignite: Data region {#JMXNAME}: Pages replace rate more than 0

There is more data than DataRegionMaxSize. Cluster started to replace pages in memory. Page replacement can slow down operations.

min(/Ignite by JMX/jmx["{#JMXOBJ}",PagesReplaceRate],5m)>0 Warning
Ignite: Data region {#JMXNAME}: Checkpoint buffer utilization is too high

Checkpoint buffer utilization is high. Threads will be throttled to avoid buffer overflow. It can be caused by high disk utilization.

min(/Ignite by JMX/jmx["{#JMXOBJ}",UsedCheckpointBufferSize],5m)/last(/Ignite by JMX/jmx["{#JMXOBJ}",CheckpointBufferSize])*100>{$IGNITE.CHECKPOINT.PUSED.MAX.WARN} Warning Depends on:
  • Ignite: Data region {#JMXNAME}: Checkpoint buffer utilization is too high
Ignite: Data region {#JMXNAME}: Checkpoint buffer utilization is too high

Checkpoint buffer utilization is high. Threads will be throttled to avoid buffer overflow. It can be caused by high disk utilization.

min(/Ignite by JMX/jmx["{#JMXOBJ}",UsedCheckpointBufferSize],5m)/last(/Ignite by JMX/jmx["{#JMXOBJ}",CheckpointBufferSize])*100>{$IGNITE.CHECKPOINT.PUSED.MAX.HIGH} High

LLD rule Cache groups

Name Description Type Key and additional info
Cache groups JMX agent jmx.discovery[beans,"org.apache:group="Cache groups",*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 3h

Item prototypes for Cache groups

Name Description Type Key and additional info
Cache group [{#JMXNAME}]: Backups

Count of backups configured for cache group.

JMX agent jmx["{#JMXOBJ}",Backups]
Cache group [{#JMXNAME}]: Partitions

Count of partitions for cache group.

JMX agent jmx["{#JMXOBJ}",Partitions]
Cache group [{#JMXNAME}]: Caches

List of caches.

JMX agent jmx["{#JMXOBJ}",Caches]

Preprocessing

  • Discard unchanged with heartbeat: 3h

Cache group [{#JMXNAME}]: Local node partitions, moving

Count of partitions with state MOVING for this cache group located on this node.

JMX agent jmx["{#JMXOBJ}",LocalNodeMovingPartitionsCount]
Cache group [{#JMXNAME}]: Local node partitions, renting

Count of partitions with state RENTING for this cache group located on this node.

JMX agent jmx["{#JMXOBJ}",LocalNodeRentingPartitionsCount]
Cache group [{#JMXNAME}]: Local node entries, renting

Count of entries remains to evict in RENTING partitions located on this node for this cache group.

JMX agent jmx["{#JMXOBJ}",LocalNodeRentingEntriesCount]
Cache group [{#JMXNAME}]: Local node partitions, owning

Count of partitions with state OWNING for this cache group located on this node.

JMX agent jmx["{#JMXOBJ}",LocalNodeOwningPartitionsCount]
Cache group [{#JMXNAME}]: Partition copies, min

Minimum number of partition copies for all partitions of this cache group.

JMX agent jmx["{#JMXOBJ}",MinimumNumberOfPartitionCopies]
Cache group [{#JMXNAME}]: Partition copies, max

Maximum number of partition copies for all partitions of this cache group.

JMX agent jmx["{#JMXOBJ}",MaximumNumberOfPartitionCopies]

Trigger prototypes for Cache groups

Name Description Expression Severity Dependencies and additional info
Ignite: Cache group [{#JMXNAME}]: One or more backups are unavailable min(/Ignite by JMX/jmx["{#JMXOBJ}",Backups],5m)>=max(/Ignite by JMX/jmx["{#JMXOBJ}",MinimumNumberOfPartitionCopies],5m) Warning
Ignite: Cache group [{#JMXNAME}]: List of caches has changed

List of caches has changed. Significant changes have occurred in the cluster. Acknowledge to close the problem manually.

last(/Ignite by JMX/jmx["{#JMXOBJ}",Caches],#1)<>last(/Ignite by JMX/jmx["{#JMXOBJ}",Caches],#2) and length(last(/Ignite by JMX/jmx["{#JMXOBJ}",Caches]))>0 Info Manual close: Yes
Ignite: Cache group [{#JMXNAME}]: Rebalance in progress

Acknowledge to close the problem manually.

max(/Ignite by JMX/jmx["{#JMXOBJ}",LocalNodeMovingPartitionsCount],30m)>0 Info Manual close: Yes
Ignite: Cache group [{#JMXNAME}]: There is no copy for partitions max(/Ignite by JMX/jmx["{#JMXOBJ}",MinimumNumberOfPartitionCopies],30m)=0 Warning

LLD rule Thread pool metrics

Name Description Type Key and additional info
Thread pool metrics JMX agent jmx.discovery[beans,"org.apache:group="Thread Pools",*"]

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 3h

Item prototypes for Thread pool metrics

Name Description Type Key and additional info
Thread pool [{#JMXNAME}]: Queue size

Current size of the execution queue.

JMX agent jmx["{#JMXOBJ}",QueueSize]
Thread pool [{#JMXNAME}]: Pool size

Current number of threads in the pool.

JMX agent jmx["{#JMXOBJ}",PoolSize]
Thread pool [{#JMXNAME}]: Pool size, max

The maximum allowed number of threads.

JMX agent jmx["{#JMXOBJ}",MaximumPoolSize]
Thread pool [{#JMXNAME}]: Pool size, core

The core number of threads.

JMX agent jmx["{#JMXOBJ}",CorePoolSize]

Trigger prototypes for Thread pool metrics

Name Description Expression Severity Dependencies and additional info
Ignite: Thread pool [{#JMXNAME}]: Too many messages in queue

Number of messages in queue more than {$IGNITE.THREAD.QUEUE.MAX.WARN:"{#JMXNAME}"}.

min(/Ignite by JMX/jmx["{#JMXOBJ}",QueueSize],5m) > {$IGNITE.THREAD.QUEUE.MAX.WARN:"{#JMXNAME}"} Average

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums

Articles and documentation

+ Propose new article

Не нашли то, что искали?