Infinispan Monitoring

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Relevance

  • JDG 7

Overview

This article describes a possible set up for Infinispan production monitoring.

Metric Collection

HotRod Endpoint

Bytes read count and bytes written count, which can be used to infer the read and write rate, in bytes/second (JDG 6 JMX totalBytesRead, totalBytesWritten, JDG 7 JMX bytesRead, bytesWritten. It is preferable to expose these metrics as a rate per second. Some monitoring solutions allow the rate to be calculated automatically (see Data Dog counters).

The number of worker threads (JDG 6 JMX numberWorkerThreads: JDG 7 JMX workerThreads).

The Cache Container

The number of hits, misses and stores at the cache container level (JDG 7 JMX hits, misses, stores). This is an aggression of the corresponding values for the underlying caches. It is preferable to expose these metrics as a rate per second. Some monitoring solutions allow the rate to be calculated automatically (see Data Dog counters).

Individual Caches

Generic Monitoring

TODO

      conf:
        - include:
            domain: jboss.as
            bean:
               - jboss.as:subsystem=datagrid-infinispan,cache-container=clustered
               - jboss.as:subsystem=datagrid-jgroups,channel=cluster,protocol=UNICAST3
               - jboss.as:subsystem=datagrid-infinispan-endpoint,hotrod-connector=hotrod-connector
               - jboss.as:subsystem=datagrid-infinispan,cache-container=clustered,distributed-cache=gameStateCache
               - jboss.as:subsystem=datagrid-infinispan,cache-container=clustered,distributed-cache=conditionVariableCache
               - jboss.as:subsystem=datagrid-infinispan,cache-container=clustered,distributed-cache=eventLogCache
            attribute:
               numberOfEntries:
                 alias: jmx.numberOfEntries
                 metric_type: counter
               averageReadTime:
                 alias: jmx.averageReadTime
                 metric_type: counter
               averageRemoveTime:
                 alias: jmx.averageRemoveTime
                 metric_type: counter
               averageReplicationTime:
                 alias: jmx.averageReplicationTime
                 metric_type: counter
               averageWriteTime:
                 alias: jmx.averageWriteTime
                 metric_type: counter
               stores:
                 alias: jmx.stores
                 metric_type: counter
               hits:
                 alias: jmx.hits
                 metric_type: counter
               misses:
                 alias: jmx.misses
                 metric_type: counter
               replicationCount:
                 alias: jmx.replicationCount
                 metric_type: counter
               replicationFailures:
                 alias: jmx.replicationFailures
                 metric_type: counter
               readWriteRatio:
                 alias: jmx.readWriteRatio
                 metric_type: counter
               successRatio:
                 alias: jmx.successRatio
                 metric_type: counter
        - include:
            domain: java.lang
            bean:
               - java.lang:type=OperatingSystem
               - java.lang:type=Threading
            attribute:
               OpenFileDescriptorCount:
                 alias: jmx.OpenFileDescriptorCount
                 metric_type: counter
               MaxFileDescriptorCount:
                 alias: jmx.MaxFileDescriptorCount
                 metric_type: counter
               TotalStartedThreadCount:
                 alias: jmx.TotalStartedThreadCount
                 metric_type: counter
               PeakThreadCount:
                 alias: jmx.PeakThreadCount
                 metric_type: counter