1. Home
  2. Docs
  3. Monitoring rules
  4. All Rules Reference List

All Rules Reference List

Below matrix lists all the Jeyzer rules, in addition to the applicative rules.
The Jeyzer rules cover these domains:

  • Application context
  • Code detection
  • Contentions
  • CPU
  • Disk space
  • Open file descriptors (Unix)
  • Execution patterns
  • Garbage Collection
  • Locking
  • Memory
  • Process libraries
  • Java modules
  • Process life cycle
  • Process settings
  • JVM Flags
  • Threading
  • Recording
  • Virtual threads

Jeyzer rules in bold are template rules which are instantiated to accommodate incident signatures.

Jeyzer rule instantiation examples are available in the analyzer/config/monitor/rules/sample_rules.xml of your Jeyzer installation.
Jeyzer demos (Features and Labors) show it in action : see their monitoring profile.

All rules are covered/tested by the Jeyzer Labors demo.

RuleUse CasesPrimary conditionsThreshold parametersScopeSL***
Absent threads Thread pool missing
Critical thread(s) dead or missing
Number of threads (active and inactive) with name matching the regex pattern, is lower or equal to value pattern
value
global
session
4
Active named thread limitThread pool activity reaching saturation Number of active threads with name matching the regex pattern, is greater or equal to value pattern
value
global
session
3
Active thread limitActivity peak detectionNumber of active threads is greater or equal to valuevalueglobal
session
3
Applicative sessionService interruption
Critical error
Connectivity issue
Life cycle status
Monitored application fired the eventapplicativesession[6-10]
Applicative systemProcess sanity check
Monitored application fired the event applicative system [6-10]
Applicative taskCritical error
Monitored application fired the event applicative action[6-10]
Contention type global percentageUnusual database access
Intensive logging
Contention type param appearance in stack percentage is greater/lower or equal to valuevalue
param
system2
Contention type in principal percentageUnusual database access within particular actionsContention type param appearance in stack percentage within action principal is greater/lower or equal to valuevalue
principal
param
system2
Contention type parallel contentionSudden contention on databaseContention type with name matching the regex pattern is seen in more than value parallel threadspattern
value
global
session
2
Contention type patternUndesired contention detection
Obsolescence
detection
Contention type is matching the regex pattern within a stackpattern
function*
action
stack
1
Contention type presenceUndesired external process execution waitContention type name is matching the param
since Jeyzer 3.0
paramsystem1
Contention type and high process CPUCrazy regular expressionContention type name is matching the contention_type and the process is consuming more than process_cpu_percent
since Jeyzer 3.3
contention_type
process_cpu_percent
global
session
1
CPU consuming processActivity peak detectionProcess consuming more than CPU percentage valuevalueglobal
session
3
CPU consuming taskCrazy active thread detectionThread consuming more than CPU percentage value value
function*
appearance percentage*
action
stack
3
CPU Runnable vs CPU capacitySystem under-sizing under normal conditionsNumber of CPU runnable threads is greater or equal to the number of available CPUssignalglobal
session
3
DeadlockInvalid resource sharing strategyThreads in deadlock signalglobal
session
5
Disk space freeInvasive loggingFree partition disk space in Gb is lower than valuevalue
param**
global
session
3
Disk space free percentDisk space outageFree partition disk percentage is lower than valuevalue
param**
global
session
3
Disk space totalWorking directory sanity checkTotal partition disk space in Gb is greater than valuevalue
param**
global
session
3
Disk space used Invasive logging Used partition disk space in Gb is greater than value value
param**
global
session
3
Disk space used percentDisk space outage Used partition disk percentage is greater than value value
param**
global
session
3
Disk write speedDisk controller problemRecording write speed in Kb/sec is lower than valuevalueglobal
session
3
Disk write timeDisk writing contention Recording write time in ms is higher than valuevalueglobal
session
3
Excessive GC timeHigh memory allocationGarbage Collection takes more than value in msvalueglobal
session
3
Excessive old GC executionHigh memory allocation on long live objectsGlobal Old garbage collection execution count is greater or equal to valuevalueglobal
session
3
Executor presenceAbnormal executor presenceExecutor name is matching the param
since Jeyzer 3.1
signalsystem1
Frozen stacksThread contentionsThread stack is identical to previous one
Freeze impression
signal
function*
action
stack
1
Function and operation parallel contentionIntensive known problematic activityFunction name matching regex pattern² and operation name matching regex pattern², are seen in more than value parallel threadsvalue
function pattern²
operation pattern²
global
session
2
Function global percentageAbnormal activity presenceFunction² appearance in stack percentage is greater/lower or equal to valuevalue
param²
system2
Function in principal percentageIntensive activity known as problematic within specific actions Function² appearance in stack percentage within action principal is greater/lower or equal to valueprincipal
param²
value
system2
Function parallel contentionIntensive parallel activity known as problematic Function name matching regex pattern is seen in more than value parallel threadsvalue
pattern
global
session
2
Function patternCritical section reachedFunction name matching regex pattern pattern
function*
action
stack
1
Function presenceDeprecated code usageFunction name is matching the paramsignal
param
system1
Garbage collector nameDeprecated garbage collectorGarbage collector name (old or young) matches the pattern
since Jeyzer 2.7
patternsystem1
GC failing to release memoryMemory leak
Abnormal activity peak
Used memory is increasing and upper than used_memory percentage, released memory is lower than released_memory percentage and garbage collection time is higher than gc_time msused_memory
released_memory
gc_time
global
session
5
Global thread leakWrong thread allocation strategy
Bad timer usage
Total number of threads is greater or equal to value and is constantly increasing by delta_y threads every delta_x recording snapshotsvalue
delta_x
delta_y
session4
Global thread limitSudden thread creation burst due to high activity peakGlobal number of threads is greater or equal to valuevalueglobal session4
Global virtual thread limitSudden virtual thread creation burst due to high activity peakGlobal number of virtual threads is greater or equal to value
since Jeyzer 3.1
valueglobal session4
Hiatus timeProcess running out of memory
Process under stress
Hiatus time between 2 recording snapshots is higher than value secondsvalueglobal
session
1
Jeyzer MX context parameter numberApplication counter checkProcess context parameter is greater/lower or equal to valuevalueglobal
session
1
Jeyzer MX context parameter patternApplication status checkProcess context parameter matches regex pattern patternglobal
session
1
Jeyzer publisherJeyzer event flooding
Jeyzer publishing activation or deactivation
Jeyzer Publisher fired the event publishersession[6-10]
Locker taskWrong resource locking strategyThread is owning java locks preventing other active threads to worksignal
function*
appearance percentage*
action
stack
2
Locks contentionProcess critical slow downMore than value threads are lockedvalueglobal
session
2
Long running taskScheduled activity exceeding standard execution timeAction is taking time (secondary condition)function*action1
Memory consuming processProcess under stressGlobal memory heap usage percentage (old and young) is greater or equal to valuevalueglobal
session
3
Memory consuming systemSystem under stress
potentially due to external cause
System is consuming more than system memory percentage valuevalueglobal
session
3
Memory consuming taskInternal activity under memory allocation stressTask is consuming more than percentage value of the global memory heap (old and young)value
function*
appearance percentage*
action
stack
2
Missing thread dumpsProcess running out of memory
Process under stress
Recording snapshots or thread dumps are missing
Restart is also interpreted as a missing thread dump.
Prefer the Hiatus rule (but advanced recording required).
diffglobal
session
3
Multi function contentionThread pool misery a in wrongly designed or sized asynchronous thread modelThe respective count² of a given list of functions is observed in parallel threadsfunctions
function_appearance_thresholds²
global
session
2
MX bean parameter numberApplication counter check MX bean parameter² is greater/lower or equal to valuevalue
param²
global
session
1
MX bean parameter patternApplication status checkMX bean parameter² is matching the regex patternpattern
param²
global
session
1
Named thread leakThread pool leakageNumber of inactive and active threads matching thread name regex pattern, is greater or equal to value and constantly increasing by delta_y threads every delta_x recording snapshotspattern
delta_x
delta_y
session4
Named thread limitAbnormal thread usageNumber of inactive and active threads matching the thread name regex pattern is greater or equal to valuepattern
value
global
session
3
Open file descriptor numberAbnormal file descriptor consumptionNumber of file descriptors opened by the JVM is greater or equal to value.
JZR recording only, issued from Unix
since Jeyzer 3.0
valueglobal
session
2
Open file descriptor percentageAbnormal file descriptor consumptionPercentage of file descriptors opened by the JVM is greater or equal to value.
The percentage is computed against the max open file descriptors limit which is user specific (see ulimit -n).
JZR recording only, issued from Unix
since Jeyzer 3.0
valueglobal
session
2
Operation global percentageAbnormal technical operation presenceOperation² appearance in stack percentage is greater/lower or equal to valuevalue
param²
system2
Operation in principal percentageIntensive technical operation step known as problematic within specific actions Operation² appearance in stack percentage within action principal is greater/lower or equal to valueprincipal
param²
value
system2
Operation parallel contentionDatabase connection pool miseryOperation is matching the regex pattern is seen in more than value parallel threadspattern
value
global
session
2
Operation patternCritical low level section reached Task operation is matching the regex patternpattern
function*
action
stack
1
Operation presence Deprecated code usageOperation name is matching the param signal
param
system1
Process card property absenceVariable presence sanity checkJava property, JVM flag or system environment variable² is missing in the process card.
Use the jzr.jdk.flag. prefix to access any JVM flag
signal
param²
system1
Process card property numberCPU count sanity check
Max open file sanity check
Process card property² is greater/lower or equal to value
Use the jzr.jdk.flag. prefix to access any JVM flag
value
param²
system1
Process card property patternVariable setting sanity check
Internal setting check
Process card property² is matching the regex pattern
Use the jzr.jdk.flag. prefix to access any JVM flag.
Example : jzr.jdk.flag.HeapDumpBeforeFullGC
pattern
param²
system1
Process command line max heapXmx sanity checkMax heap size (-Xmx) is lower than value in Mbvaluesystem2
Process command line parameter absenceXmx not setJava command line parameter² is missingsignal
param²
system1
Process command line parameter patternJava remote debug access openJava command line parameter² matches the regex patternpattern
param²
system1
Process command line property numberJMX port testJava property² on the command line (-D) value is greater/lower or equal to valuevalue
param²
system1
Process command line property patternJMX remote authentication activation sanity checkJava property² on the command line (-D) value matches the regex patternpattern
param²
system1
Process down timeInactivity safety checkProcess is restarted after down_time durationsignal
down_time
session4
Process jar multiple versionsPackaging errors
Deployment errors
Process jar file is present multiple times under different versionssignalsystem3
Process jar nameExternal jar detection
Java agent detection
Process jar name is matching the regex patternpatternsystem1
Process jar name absenceDetection of a missing libraryProcess jar name is not found using the regex patternpatternsystem1
Process jar versionJar obsolescence
Unsecured implementation
Process jar file matches the associated version stickersignalsystem1
Process jar version absenceMissing clarity on the jar releaseProcess jar doesn’t have any version on the file namesignalsystem1
Process jar version snapshotNon official jar releaseProcess jar version contains an alphabetic tagsignalsystem4
Process module nameExternal Java module detectionJava module name is matching the regex pattern
since Jeyzer 2.2
patternsystem1
Process module name absenceDetection of a missing Java moduleJava module name is not found using the regex pattern
since Jeyzer 2.2
patternsystem1
Process module versionJava module obsolescence
Unsecured implementation
Java module matches the associated version sticker
since Jeyzer 2.2
signalsystem1
Process module version absenceMissing clarity on the Java module releaseJava module doesn’t have any version on the file name
since Jeyzer 2.2
signalsystem1
Process module version snapshotNon official Java module releaseJava module version contains an alphabetic tag
since Jeyzer 2.2
signalsystem4
Process up timeProcess sanity restart check Process is has been running for longer than value in secondsvaluesession2
Quiet activityNormal situation indicatorAbsence of actions of interest is detected
A list of actions to exclude (such as any JFR background activity) may be specified with the pattern
since Jeyzer 3.0
signal
pattern
system5
Recording sizeInsufficient recording contentNumber of recording snapshots (thread dumps) is larger/lower than value
since Jeyzer 2.6
valuesystem1
Recording snapshot capture timeProcess health indicatorRecording snapshot capture time is greater or equal to value in msvalueglobal
session
2
RestartSerious issue indicator when not plannedProcess is restartedsignalsession4
Session execution patternDeprecated code usageCode regex pattern is matched within any active stack
For performance reasons, transpose those method calls into Jeyzer functions/operations and therefore use the Function and Operation presence rules
patternglobal
session
1
Shared profileDeprecated library usageShared profile usage is detected
since Jeyzer 3.0
signalsystem1
Stack OverflowStack overflow risk
on re-entrant code execution
Stack size within a task is greater or equal to valuevalueaction
stack
4
Sticker matchAmbient markerStickers matched
This rule must get associated to one or several stickers. It has no check body and relies only on the stickers. Process card property rules are quite similar, but stickers can also be ambient based and it prevents anyway from duplicating the sticker property conditions in the monitoring rules.
signalsystem1
Suspended threadsDebug session in production not properly terminated (!)
Malicious attack
Threads are suspended on a debug breakpointsignalglobal
session
5
System CPU overloadSystem under stress
potentially due to external cause
System CPU percentage is greater or equal to valuevalueglobal
session
4
Task Execution patternCritical section reached Code regex pattern is matched within the active task
For performance reasons, prefer translating the method into profile functions/operations to use their related Function pattern and Operation pattern rules.
pattern
function*
appearance percentage*
action
stack
1
Task Jeyzer MX context parameter numberApplicative counter check within distinct actionsAction context parameter² is greater/lower or equal to valuevalue
param²
function*
action
stack
1
Task Jeyzer MX context parameter pattern Applicative status check within distinct actions Action context parameter² is matching the regex pattern pattern
param²
function*
action
task
1
Virtual threads CPU consumingSystem under stress : virtual threads take excessive CPU timeVirtual thread CPU % is greater or equal to value
Since Jeyzer 3.1
valueglobal
session
3
Virtual thread leakSystem under stress : remote point is unable to reply on timeUnmounted virtual threads are visible for long time
since Jeyzer 3.1
signal with contextaction4
Virtual thread presenceIncorrect recording method usedCarrier threads are detected
since Jeyzer 3.1
signalsystem2

(*) Optional threshold parameter. Function is principal function one.

(**) Param identifies the disk partition id, set at the recording profile level.

(***) SL : default rule sub level. Represents the importance of the rule.
Default value is between 1 (low importance) and 5 (high importance).
Sub level permits to classify the events within one level (Critical, Warning, Info).
If changed, specified value must be between 6 and 10.