You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

793 lines
43 KiB

1 year ago
zabbix_export:
version: '7.0'
template_groups:
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
name: Templates/Applications
templates:
- uuid: c87e0a2e0683483ab7c6f3c380e9f840
template: 'Apache ActiveMQ by JMX'
name: 'Apache ActiveMQ by JMX'
description: |
The template to monitor Apache ActiveMQ by Zabbix that work without any external scripts.
The metrics are collected by JMX.
You can set macro values and add macros with context for specific brokers or destinations following macro description.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/411049-discussion-thread-for-official-zabbix-template-amq
Generated by official Zabbix template tool "Templator" 2.0.0
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Applications
discovery_rules:
- uuid: cbd9f98c2c1e412081a546e18066a868
name: 'Brokers discovery'
type: JMX
key: 'jmx.discovery[beans,"org.apache.activemq:type=Broker,brokerName=*"]'
delay: 1h
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
filter:
evaltype: FORMULA
formula: 'A and B'
conditions:
- macro: '{#JMXBROKERNAME}'
value: '{$ACTIVEMQ.LLD.FILTER.BROKER.MATCHES}'
formulaid: A
- macro: '{#JMXBROKERNAME}'
value: '{$ACTIVEMQ.LLD.FILTER.BROKER.NOT_MATCHES}'
operator: NOT_MATCHES_REGEX
formulaid: B
description: 'Discovery of brokers'
item_prototypes:
- uuid: 29a0f197bfe847d596dad4923364490e
name: 'Broker {#JMXBROKERNAME}: Version'
type: JMX
key: 'jmx[{#JMXOBJ},BrokerVersion]'
history: 7d
trends: '0'
value_type: TEXT
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'The version of the broker.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: inventory
trigger_prototypes:
- uuid: 7902d81681874aa3acf33d90316f9864
expression: 'last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},BrokerVersion],#1)<>last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},BrokerVersion],#2) and length(last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},BrokerVersion]))>0'
name: 'Broker {#JMXBROKERNAME}: Version has been changed'
event_name: 'Broker {#JMXBROKERNAME}: Version has changed (new version: {ITEM.VALUE})'
priority: INFO
description: 'The Broker {#JMXBROKERNAME} version has changed. Acknowledge to close the problem manually.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
- uuid: 85c19ccb8b6a4242a8ba699e76836427
name: 'Broker {#JMXBROKERNAME}: Memory limit'
type: JMX
key: 'jmx[{#JMXOBJ},MemoryLimit]'
history: 7d
units: B
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Memory limit, in bytes, used for holding undelivered messages before paging to temporary storage.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: memory
- uuid: 5e2a5638adf6405087014bfcfc8ffc93
name: 'Broker {#JMXBROKERNAME}: Memory usage in percents'
type: JMX
key: 'jmx[{#JMXOBJ}, MemoryPercentUsage]'
history: 7d
units: '%'
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Percent of memory limit used.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: memory
trigger_prototypes:
- uuid: e805b8cca9744940affc3bdd234a7587
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ}, MemoryPercentUsage],{$ACTIVEMQ.MEM.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.MEM.MAX.HIGH:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Memory usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Memory usage is too high (over {$ACTIVEMQ.MEM.MAX.HIGH:"{#JMXBROKERNAME}"}%)'
priority: HIGH
tags:
- tag: scope
value: performance
- uuid: 3e741e339fff422fae67b5333faa1e20
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ}, MemoryPercentUsage],{$ACTIVEMQ.MEM.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.MEM.MAX.WARN:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Memory usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Memory usage is too high (over {$ACTIVEMQ.MEM.MAX.WARN:"{#JMXBROKERNAME}"}%)'
priority: AVERAGE
dependencies:
- name: 'Broker {#JMXBROKERNAME}: Memory usage is too high'
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ}, MemoryPercentUsage],{$ACTIVEMQ.MEM.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.MEM.MAX.HIGH:"{#JMXBROKERNAME}"}'
tags:
- tag: scope
value: performance
- uuid: 78806476b5cb4ce48f8ca8dbd173c7c3
name: 'Broker {#JMXBROKERNAME}: Storage limit'
type: JMX
key: 'jmx[{#JMXOBJ},StoreLimit]'
history: 7d
units: B
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Disk limit, in bytes, used for persistent messages before producers are blocked.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: storage
- uuid: fc4c79543a6f4b7b9c22f11b61b644c9
name: 'Broker {#JMXBROKERNAME}: Storage usage in percents'
type: JMX
key: 'jmx[{#JMXOBJ},StorePercentUsage]'
history: 7d
units: '%'
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Percent of store limit used.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: storage
trigger_prototypes:
- uuid: 2e1c9f92c87f446ebab68ac638c713c5
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},StorePercentUsage],{$ACTIVEMQ.STORE.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.STORE.MAX.HIGH:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Storage usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Storage usage is too high (over {$ACTIVEMQ.STORE.MAX.HIGH:"{#JMXBROKERNAME}"}%)'
priority: HIGH
tags:
- tag: scope
value: capacity
- uuid: 271b33edce84439a91d6a253f45e5bf6
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},StorePercentUsage],{$ACTIVEMQ.STORE.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.STORE.MAX.WARN:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Storage usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Storage usage is too high (over {$ACTIVEMQ.STORE.MAX.WARN:"{#JMXBROKERNAME}"}%)'
priority: AVERAGE
dependencies:
- name: 'Broker {#JMXBROKERNAME}: Storage usage is too high'
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},StorePercentUsage],{$ACTIVEMQ.STORE.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.STORE.MAX.HIGH:"{#JMXBROKERNAME}"}'
tags:
- tag: scope
value: capacity
- uuid: 09db80ee80ea47189142130d35a8e1c2
name: 'Broker {#JMXBROKERNAME}: Temp limit'
type: JMX
key: 'jmx[{#JMXOBJ},TempLimit]'
history: 7d
units: B
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Disk limit, in bytes, used for non-persistent messages and temporary data before producers are blocked.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: storage
- uuid: 95354144839e4d22a82c4e9a1fab83d9
name: 'Broker {#JMXBROKERNAME}: Temp usage in percents'
type: JMX
key: 'jmx[{#JMXOBJ},TempPercentUsage]'
history: 7d
units: '%'
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Percent of temp limit used.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: storage
trigger_prototypes:
- uuid: 422252a81e3e4261bbd7f331f48c6257
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TempPercentUsage],{$ACTIVEMQ.TEMP.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.TEMP.MAX.HIGH}'
name: 'Broker {#JMXBROKERNAME}: Temp usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Temp usage is too high (over {$ACTIVEMQ.TEMP.MAX.WARN:"{#JMXBROKERNAME}"}%)'
priority: HIGH
tags:
- tag: scope
value: capacity
- uuid: acb8f6e0762f48c2bd4c03f2a55b2f44
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TempPercentUsage],{$ACTIVEMQ.TEMP.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.TEMP.MAX.WARN}'
name: 'Broker {#JMXBROKERNAME}: Temp usage is too high'
event_name: 'Broker {#JMXBROKERNAME}: Temp usage is too high (over {$ACTIVEMQ.TEMP.MAX.WARN:"{#JMXBROKERNAME}"}%)'
priority: AVERAGE
dependencies:
- name: 'Broker {#JMXBROKERNAME}: Temp usage is too high'
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TempPercentUsage],{$ACTIVEMQ.TEMP.TIME:"{#JMXBROKERNAME}"})>{$ACTIVEMQ.TEMP.MAX.HIGH}'
tags:
- tag: scope
value: capacity
- uuid: 64ab04e456804e10a6c78c3190807506
name: 'Broker {#JMXBROKERNAME}: Consumers count total'
type: JMX
key: 'jmx[{#JMXOBJ},TotalConsumerCount]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of consumers attached to this broker.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: broker
trigger_prototypes:
- uuid: 6906f0a1ef804da4a1203ca9d96ab8a0
expression: 'max(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TotalConsumerCount],{$ACTIVEMQ.BROKER.CONSUMERS.MIN.TIME:"{#JMXBROKERNAME}"})<{$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Consumers count is too low'
event_name: 'Broker {#JMXBROKERNAME}: Consumers count is too low (below {$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH:"{#JMXBROKERNAME}"} for {$ACTIVEMQ.BROKER.CONSUMERS.MIN.TIME:"{#JMXBROKERNAME}"})'
priority: HIGH
tags:
- tag: scope
value: notice
- uuid: 48bc7dab4a1a40d8a823e880018cf8e7
name: 'Broker {#JMXBROKERNAME}: Messages dequeue rate'
type: JMX
key: 'jmx[{#JMXOBJ},TotalDequeueCount]'
history: 7d
units: messages/sec
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Rate of messages that have been delivered by the broker and acknowledged by consumers.'
preprocessing:
- type: CHANGE_PER_SECOND
parameters:
- ''
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: broker
- uuid: a462499eecbd443e931a9aa831240f65
name: 'Broker {#JMXBROKERNAME}: Messages enqueue rate'
type: JMX
key: 'jmx[{#JMXOBJ},TotalEnqueueCount]'
history: 7d
units: messages/sec
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Rate of messages that have been sent to the broker.'
preprocessing:
- type: CHANGE_PER_SECOND
parameters:
- ''
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: broker
trigger_prototypes:
- uuid: a3ab7bca031c45059418fa82a3c67369
expression: 'avg(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TotalEnqueueCount],{$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXBROKERNAME}"})>avg(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TotalEnqueueCount],{$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXBROKERNAME}"})'
name: 'Broker {#JMXBROKERNAME}: Message enqueue rate is higher than dequeue rate'
event_name: 'Broker {#JMXBROKERNAME}: Message enqueue rate is higher than dequeue rate for {$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXBROKERNAME}"}'
priority: AVERAGE
description: 'Enqueue rate is higher than dequeue rate. It may indicate performance problems.'
tags:
- tag: scope
value: performance
- uuid: 2453d8221cec4e1ead6622c001ac9a8c
name: 'Broker {#JMXBROKERNAME}: Producers count total'
type: JMX
key: 'jmx[{#JMXOBJ},TotalProducerCount]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of producers attached to this broker.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: broker
trigger_prototypes:
- uuid: 2ee6ad72a98143b59d8d1136fffdbe50
expression: 'max(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},TotalProducerCount],{$ACTIVEMQ.BROKER.PRODUCERS.MIN.TIME:"{#JMXBROKERNAME}"})<{$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH:"{#JMXBROKERNAME}"}'
name: 'Broker {#JMXBROKERNAME}: Producers count is too low'
event_name: 'Broker {#JMXBROKERNAME}: Producers count is too low (below {$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH:"{#JMXBROKERNAME}"} for {$ACTIVEMQ.BROKER.PRODUCERS.MIN.TIME:"{#JMXBROKERNAME}"})'
priority: HIGH
tags:
- tag: scope
value: notice
- uuid: a46d7281cb234ccaadacbb7d311cbd39
name: 'Broker {#JMXBROKERNAME}: Uptime'
type: JMX
key: 'jmx[{#JMXOBJ},UptimeMillis]'
history: 7d
units: s
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'The uptime of the broker.'
preprocessing:
- type: MULTIPLIER
parameters:
- '0.001'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: system
trigger_prototypes:
- uuid: 6abb3813bb52465aa4a5f4bebfe999c3
expression: 'last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},UptimeMillis])<10m'
name: 'Broker {#JMXBROKERNAME}: Broker has been restarted'
event_name: 'Broker {#JMXBROKERNAME}: Broker has been restarted (uptime < 10m)'
priority: INFO
description: 'Uptime is less than 10 minutes.'
manual_close: 'YES'
tags:
- tag: scope
value: notice
graph_prototypes:
- uuid: 465b9319e0dc4728a2733c69521e9e81
name: 'Broker {#JMXBROKERNAME}: Messages rate'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},TotalEnqueueCount]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},TotalDequeueCount]'
- uuid: 9cdb5b2bed724f45a305a8434d28c105
name: 'Broker {#JMXBROKERNAME}: Producers and consumers'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},TotalProducerCount]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},TotalConsumerCount]'
- uuid: 6b018bbe9d154d2d865b7922eaa7ae28
name: 'Broker {#JMXBROKERNAME}: Resources usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ}, MemoryPercentUsage]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},StorePercentUsage]'
- sortorder: '2'
drawtype: GRADIENT_LINE
color: 00611C
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},TempPercentUsage]'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
- uuid: 14432547793d42d2b75c7b08fcbb3545
name: 'Destinations discovery'
type: JMX
key: 'jmx.discovery[beans,"org.apache.activemq:type=Broker,brokerName=*,destinationType=*,destinationName=*"]'
delay: 1h
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
filter:
evaltype: FORMULA
formula: 'A and B'
conditions:
- macro: '{#JMXDESTINATIONNAME}'
value: '{$ACTIVEMQ.LLD.FILTER.DESTINATION.MATCHES}'
formulaid: A
- macro: '{#JMXDESTINATIONNAME}'
value: '{$ACTIVEMQ.LLD.FILTER.DESTINATION.NOT_MATCHES}'
operator: NOT_MATCHES_REGEX
formulaid: B
description: 'Discovery of destinations'
item_prototypes:
- uuid: fd8129c9a66043d896a70c91c8b0d471
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Consumers count total on {#JMXBROKERNAME}'
type: JMX
key: 'jmx["org.apache.activemq:type=Broker,brokerName={#JMXBROKERNAME}",{$ACTIVEMQ.TOTAL.CONSUMERS.COUNT: "{#JMXDESTINATIONNAME}"}]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of consumers attached to the broker of this destination. Used to suppress destination''s triggers when the count of consumers on the broker is lower than threshold.'
preprocessing:
- type: IN_RANGE
parameters:
- '0'
- '{$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH}'
error_handler: CUSTOM_VALUE
error_handler_params: '{$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH}'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: 99f2094b02f848e785e40296958c5450
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Producers count total on {#JMXBROKERNAME}'
type: JMX
key: 'jmx["org.apache.activemq:type=Broker,brokerName={#JMXBROKERNAME}",{$ACTIVEMQ.TOTAL.PRODUCERS.COUNT: "{#JMXDESTINATIONNAME}"}]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of producers attached to the broker of this destination. Used to suppress destination''s triggers when the count of producers on the broker is lower than threshold.'
preprocessing:
- type: IN_RANGE
parameters:
- '0'
- '{$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH}'
error_handler: CUSTOM_VALUE
error_handler_params: '{$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH}'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: 5e93e53a0c2d49a49d421ded87b6b1f8
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Consumers count'
type: JMX
key: 'jmx[{#JMXOBJ},ConsumerCount]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of consumers attached to this destination.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: 3536ec77069a434e854415f0a3270e67
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Messages dequeue rate'
type: JMX
key: 'jmx[{#JMXOBJ},DequeueCount]'
history: 7d
units: messages/sec
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Rate of messages that has been acknowledged (and removed) from the destination.'
preprocessing:
- type: CHANGE_PER_SECOND
parameters:
- ''
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: a6dacc8c4d1f4724bf49c63449992035
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Messages enqueue rate'
type: JMX
key: 'jmx[{#JMXOBJ},EnqueueCount]'
history: 7d
units: messages/sec
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Rate of messages that have been sent to the destination.'
preprocessing:
- type: CHANGE_PER_SECOND
parameters:
- ''
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: 1c4ea913a9564d74b31ef82314203a15
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Expired messages count'
type: JMX
key: 'jmx[{#JMXOBJ},ExpiredCount]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of messages that have been expired.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 3h
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
trigger_prototypes:
- uuid: a498405c5b764c1ea9f0e151adf94ed7
expression: 'last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},ExpiredCount])>{$ACTIVEMQ.EXPIRED.WARN:"{#JMXDESTINATIONNAME}"}'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Expired messages count is high'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Expired messages count higher than {$ACTIVEMQ.EXPIRED.WARN:"{#JMXDESTINATIONNAME}"}'
priority: AVERAGE
description: 'This metric represents the number of messages that expired before they could be delivered. If you expect all messages to be delivered and acknowledged within a certain amount of time, you can set an expiration for each message, and investigate if your ExpiredCount metric rises above zero.'
tags:
- tag: scope
value: performance
- uuid: 158fac5a1b3c4f07a4004a733f9b6995
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage in percents'
type: JMX
key: 'jmx[{#JMXOBJ},MemoryPercentUsage]'
history: 7d
units: '%'
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'The percentage of the memory limit used.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: memory
trigger_prototypes:
- uuid: 197ab32730a84f79ba1b1e827a10e175
expression: 'last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},MemoryPercentUsage])>{$ACTIVEMQ.MEM.MAX.HIGH:"{#JMXDESTINATIONNAME}"}'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage is too high'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage is too high (over {$ACTIVEMQ.MEM.MAX.HIGH:"{#JMXDESTINATIONNAME}"}%)'
priority: HIGH
tags:
- tag: scope
value: performance
- uuid: 1e4e3a969b434c6d972251f8c9b3f2a7
expression: 'last(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},MemoryPercentUsage])>{$ACTIVEMQ.MEM.MAX.WARN:"{#JMXDESTINATIONNAME}"}'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage is too high'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage is too high (over {$ACTIVEMQ.MEM.MAX.WARN:"{#JMXDESTINATIONNAME}"}%)'
priority: AVERAGE
tags:
- tag: scope
value: performance
- uuid: 82ee74872f6e46efbf16ae0705bcf2a6
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Producers count'
type: JMX
key: 'jmx[{#JMXOBJ},ProducerCount]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of producers attached to this destination.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
- uuid: fdc1e26fbe6545d3bdfc86f6f8c91b8b
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Queue size'
type: JMX
key: 'jmx[{#JMXOBJ},QueueSize]'
history: 7d
username: '{$ACTIVEMQ.USER}'
password: '{$ACTIVEMQ.PASSWORD}'
description: 'Number of messages on this destination, including any that have been dispatched but not acknowledged.'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: component
value: destination
trigger_prototypes:
- uuid: f1c49943152c407088e3bf288b650b41
expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},QueueSize],{$ACTIVEMQ.QUEUE.TIME:"{#JMXDESTINATIONNAME}"})>{$ACTIVEMQ.QUEUE.WARN:"{#JMXDESTINATIONNAME}"} and {$ACTIVEMQ.QUEUE.ENABLED:"{#JMXDESTINATIONNAME}"}=1'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Queue size is high'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Queue size higher than {$ACTIVEMQ.QUEUE.WARN:"{#JMXDESTINATIONNAME}"} for {$ACTIVEMQ.QUEUE.TIME:"{#JMXDESTINATIONNAME}"}'
priority: AVERAGE
description: 'Queue size is higher than threshold. It may indicate performance problems.'
tags:
- tag: scope
value: performance
trigger_prototypes:
- uuid: c366d4b329c0471386566d6795c5787f
expression: 'max(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},ConsumerCount],{$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})<{$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"} and last(/Apache ActiveMQ by JMX/jmx["org.apache.activemq:type=Broker,brokerName={#JMXBROKERNAME}",{$ACTIVEMQ.TOTAL.CONSUMERS.COUNT: "{#JMXDESTINATIONNAME}"}])>{$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH:"{#JMXBROKERNAME}"}'
recovery_mode: RECOVERY_EXPRESSION
recovery_expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},ConsumerCount],{$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})>={$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"}'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Consumers count is too low'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Consumers count is too low (below {$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"} for {$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})'
priority: AVERAGE
manual_close: 'YES'
tags:
- tag: scope
value: notice
- uuid: 344a0b83a5444d009aa56e97c1c0171b
expression: 'avg(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},EnqueueCount],{$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXDESTINATIONNAME}"})>avg(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},DequeueCount],{$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXDESTINATIONNAME}"})'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Message enqueue rate is higher than dequeue rate'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Message enqueue rate is higher than dequeue rate for {$ACTIVEMQ.MSG.RATE.WARN.TIME:"{#JMXDESTINATIONNAME}"}'
priority: AVERAGE
description: 'Enqueue rate is higher than dequeue rate. It may indicate performance problems.'
tags:
- tag: scope
value: notice
- uuid: 725d0270554e4fe59d138becfa3e6377
expression: 'max(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},ProducerCount],{$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})<{$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"} and last(/Apache ActiveMQ by JMX/jmx["org.apache.activemq:type=Broker,brokerName={#JMXBROKERNAME}",{$ACTIVEMQ.TOTAL.PRODUCERS.COUNT: "{#JMXDESTINATIONNAME}"}])>{$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH:"{#JMXBROKERNAME}"}'
recovery_mode: RECOVERY_EXPRESSION
recovery_expression: 'min(/Apache ActiveMQ by JMX/jmx[{#JMXOBJ},ProducerCount],{$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})>={$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"}'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Producers count is too low'
event_name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Producers count is too low (below {$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.HIGH:"{#JMXDESTINATIONNAME}"} for {$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.TIME:"{#JMXDESTINATIONNAME}"})'
priority: AVERAGE
manual_close: 'YES'
tags:
- tag: scope
value: notice
graph_prototypes:
- uuid: 006f397fbb664f9981b9228808870239
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},MemoryPercentUsage]'
- uuid: 1c9a999ec2b94942ad10f408b470b1a2
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Messages rate'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},EnqueueCount]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},DequeueCount]'
- uuid: 0854230a67bc4d29b3b3dc2cb7eeaefa
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Producers and consumers'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},ProducerCount]'
- sortorder: '1'
drawtype: GRADIENT_LINE
color: F63100
item:
host: 'Apache ActiveMQ by JMX'
key: 'jmx[{#JMXOBJ},ConsumerCount]'
jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
tags:
- tag: class
value: application
- tag: target
value: apache-activemq
macros:
- macro: '{$ACTIVEMQ.BROKER.CONSUMERS.MIN.HIGH}'
value: '1'
description: 'Minimum amount of consumers for broker. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.BROKER.CONSUMERS.MIN.TIME}'
value: 5m
description: 'Time during which there may be no consumers on destination. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.BROKER.PRODUCERS.MIN.HIGH}'
value: '1'
description: 'Minimum amount of producers for broker. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.BROKER.PRODUCERS.MIN.TIME}'
value: 5m
description: 'Time during which there may be no producers on broker. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.HIGH}'
value: '1'
description: 'Minimum amount of consumers for destination. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.DESTINATION.CONSUMERS.MIN.TIME}'
value: 10m
description: 'Time during which there may be no consumers in destination. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.HIGH}'
value: '1'
description: 'Minimum amount of producers for destination. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.DESTINATION.PRODUCERS.MIN.TIME}'
value: 10m
description: 'Time during which there may be no producers on destination. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.EXPIRED.WARN}'
value: '0'
description: 'Threshold for expired messages count. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.LLD.FILTER.BROKER.MATCHES}'
value: '.*'
description: 'Filter of discoverable discovered brokers'
- macro: '{$ACTIVEMQ.LLD.FILTER.BROKER.NOT_MATCHES}'
value: 'CHANGE IF NEEDED'
description: 'Filter to exclude discovered brokers'
- macro: '{$ACTIVEMQ.LLD.FILTER.DESTINATION.MATCHES}'
value: '.*'
description: 'Filter of discoverable discovered destinations'
- macro: '{$ACTIVEMQ.LLD.FILTER.DESTINATION.NOT_MATCHES}'
value: 'CHANGE IF NEEDED'
description: 'Filter to exclude discovered destinations'
- macro: '{$ACTIVEMQ.MEM.MAX.HIGH}'
value: '90'
description: 'Memory threshold for HIGH trigger. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.MEM.MAX.WARN}'
value: '75'
description: 'Memory threshold for AVERAGE trigger. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.MEM.TIME}'
value: 5m
description: 'Time during which the metric can be above the threshold. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.MSG.RATE.WARN.TIME}'
value: 15m
description: 'The time for message enqueue/dequeue rate. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.PASSWORD}'
value: activemq
description: 'Password for JMX'
- macro: '{$ACTIVEMQ.PORT}'
value: '1099'
description: 'Port for JMX'
- macro: '{$ACTIVEMQ.QUEUE.ENABLED}'
value: '1'
description: 'Use this to disable alerting for specific destination. 1 = enabled, 0 = disabled. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.QUEUE.TIME}'
value: 10m
description: 'Time during which the QueueSize can be higher than threshold. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.QUEUE.WARN}'
value: '100'
description: 'Threshold for QueueSize. Can be used with destination name as context.'
- macro: '{$ACTIVEMQ.STORE.MAX.HIGH}'
value: '90'
description: 'Storage threshold for HIGH trigger. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.STORE.MAX.WARN}'
value: '75'
description: 'Storage threshold for AVERAGE trigger. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.STORE.TIME}'
value: 5m
description: 'Time during which the metric can be above the threshold. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.TEMP.MAX.HIGH}'
value: '90'
description: 'Temp threshold for HIGH trigger. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.TEMP.MAX.WARN}'
value: '75'
description: 'Temp threshold for AVERAGE trigger. Can be used with broker name as context.'
- macro: '{$ACTIVEMQ.TEMP.TIME}'
value: 5m
description: 'Time during which the metric can be above the threshold. Can be used with destination or broker name as context.'
- macro: '{$ACTIVEMQ.TOTAL.CONSUMERS.COUNT}'
value: TotalConsumerCount
description: 'Attribute for TotalConsumerCount per destination. Used to suppress destination''s triggers when the count of consumers on the broker is lower than threshold.'
- macro: '{$ACTIVEMQ.TOTAL.PRODUCERS.COUNT}'
value: TotalProducerCount
description: 'Attribute for TotalProducerCount per destination. Used to suppress destination''s triggers when the count of consumers on the broker is lower than threshold.'
- macro: '{$ACTIVEMQ.USER}'
value: admin
description: 'User for JMX'
dashboards:
- uuid: 292193a9f5fc4a40a78aa304a6ceb536
name: 'Apache ActiveMQ: Overview'
pages:
- name: General
widgets:
- type: graphprototype
width: '12'
height: '15'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '3'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'Apache ActiveMQ by JMX'
name: '{#JMXBROKERNAME}: {#JMXDESTINATIONTYPE} {#JMXDESTINATIONNAME}: Memory usage'
- type: graphprototype
x: '12'
width: '12'
height: '15'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '3'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'Apache ActiveMQ by JMX'
name: 'Broker {#JMXBROKERNAME}: Resources usage'