# Include base configuration include base.cfg # ================================================================== # Various parameterized checks Use = memory_heap Critical = 90 Label = $0 $BASE (Warning: %.2y, Critical: %.2z) # ================================================================== # Predefined Checks # Heap Memory Use = base_memory_relative Value = java.lang:type=Memory/HeapMemoryUsage/used Base = java.lang:type=Memory/HeapMemoryUsage/max Name = Heap Memory ${0:default_name} Label = Heap-Memory: $BASE Use = base_memory_relative MBean = java.lang:type=Memory Attribute = HeapMemoryUsage Path = used BaseMBean = java.lang:type=Memory BaseAttribute = HeapMemoryUsage BasePath = max Name = Heap Memory ${0:default_name} Label = Heap-Memory: $BASE Value = java.lang:type=Memory/HeapMemoryUsage/used Name = $1 Label = $0 Critical = 1: # Perm Gen Memory (used for class definitions) Use = base_memory_relative($0,$1) Value = java.lang:type=Memory/NonHeapMemoryUsage/used Base = java.lang:type=Memory/HeapMemoryUsage/max Label = NonHeap Memory: $BASE # =============================================== # Thread count Value = java.lang:type=Threading/ThreadCount Name = ${0} $1 $2 Label = "thread_count: $0 $1 $2 : Value %f in range" Critical = ${0} Warning = $1 Method = POST Value = java.lang:type=Threading/ThreadCount Name = $0 $1 $2 Critical = $0 Warning = $1 Method = Bla # Child Use thread_count(,2) Use thread_count(${0},2) Use thread_count # ========================================================= # Operation checks MBean = jolokia.it:type=operation Operation = overloadedMethod(java.lang.String) Argument = ${0} Critical = 5 Warning = :1 # ========================================================= # Bug specific checks # MBean with '#' MBean = jolokia/it:pid=[ServiceRegistryProvider\#(null)],type=ParticipantMonitor,id=* Attribute = Ok String = 1 Label = ServiceRegistryProvider is running Name = Running Critical = !OK # Scripting check Script <search("java.lang:type=MemoryPool,*"); my @matched_pools; my $pattern = "${0}"; for my $pool (@$pools) { push @matched_pools,$pool if $pool =~ /$pattern/; } return $j4p->get_attribute($matched_pools[0],"Usage","used"); EOT Name script_check $0 Critical ${1:10} Unit B Check memory_heap(90,80) Check script_check('Eden|Java',1000000000) Check memory_non_heap(90,80) Check script_check($0,1000000000) Check thread_count(1000,2000,3000) # Double values below a threshold Name = double_min MBean = jolokia.it:type=attribute Attribute = DoubleValueMin Critical = 1 Warning = 2 Name = double_max MBean = jolokia.it:type=attribute Attribute = DoubleValueMax Critical = 1 Warning = 2 Use = thread_count Critical = $1 Name = $0 Use = thread_count # ================================= # #81699 # Find deadlocked Threads MBean = java.lang:type=Threading Operation = findDeadlockedThreads Null = no deadlock Name = Thread-Deadlock String = 1 Critical = !no deadlock MBean jolokia.it:type=operation Operation fetchNumber Argument ${0:inc} Critical 3 Warning 2 # 75062 Use = base_memory_relative($0,$1) Value = java.lang:type=Memory/HeapMemoryUsage/used Base = java.lang:type=Memory/HeapMemoryUsage/max Name = Heap Memory ${0:default_name} Label = Heap-Memory: $BASE PerfData = ${2:No} Use = memory_without_perfdata(90,80,'yes')