Skip to content

Commit

Permalink
Merge pull request #5 from guidograzioli/jmx_exporter
Browse files Browse the repository at this point in the history
Add vars for prometheus_jmx_exporter setup
  • Loading branch information
guidograzioli authored Jun 22, 2022
2 parents 7b3d12b + 028da0e commit b5567f4
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 5 deletions.
7 changes: 6 additions & 1 deletion roles/amq_broker/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,9 @@ amq_broker_logger_jms_level: INFO
amq_broker_logger_integration_bootstrap_level: INFO
amq_broker_logger_jetty_level: WARN
amq_broker_logger_curator_level: WARN
amq_broker_logger_zookeeper_level: ERROR
amq_broker_logger_zookeeper_level: ERROR

# Misc
amq_broker_jmx_exporter_port: 18080
amq_broker_jmx_exporter_config_path: "{{ amq_broker_dest }}/{{ amq_broker_instance_name }}/etc/jmx_exporter.yml"
amq_broker_jmx_exporter_enabled: False
14 changes: 13 additions & 1 deletion roles/amq_broker/meta/argument_specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -362,4 +362,16 @@ argument_specs:
amq_broker_logger_zookeeper_level:
description: "Logging level for org.apache.zookeeper"
default: 'ERROR'
type: "str"
type: "str"
amq_broker_jmx_exporter_port:
default: 18080
type: "int"
description: "Port for prometheus JMX exporter to listen"
amq_broker_jmx_exporter_config_path:
default: "{{ amq_broker_dest }}/{{ amq_broker_instance_name }}/etc/jmx_exporter.yml"
type: "str"
description: "JMX exporter configuration path"
amq_broker_jmx_exporter_enabled:
description: "Enable install and configuration of prometheus-jmx-exporter"
default: False
type: "bool"
9 changes: 9 additions & 0 deletions roles/amq_broker/tasks/firewalld.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,12 @@
- "{{ amq_broker_port_amqp }}/tcp"
- "{{ amq_broker_port_mqtt }}/tcp"
- "{{ amq_broker_port_stomp }}/tcp"

- name: "Configure firewall for JMX exporter port"
become: yes
firewalld:
port: "{{ amq_broker_jmx_exporter_port }}/tcp"
permanent: true
state: enabled
immediate: yes
when: amq_broker_jmx_exporter_enabled
8 changes: 7 additions & 1 deletion roles/amq_broker/tasks/prereqs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,10 @@
- unzip
- procps-ng
- initscripts
- libaio
- libaio

- name: Ensure required packages are installed
ansible.builtin.dnf:
name: prometheus-jmx-exporter
state: present
when: amq_broker_jmx_exporter_enabled
8 changes: 6 additions & 2 deletions roles/amq_broker/templates/amq_broker.sysconfig.j2
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# {{ ansible_managed }}
JAVA_OPTS='{{ amq_broker_java_opts }}'
JAVA_HOME={{ amq_broker_java_home | default(amq_broker_rpm_java_home, true) }}
{% if amq_broker_jmx_exporter_enabled %}
JAVA_ARGS='{{ amq_broker_java_opts }} -javaagent:/usr/share/java/prometheus-jmx-exporter/jmx_prometheus_javaagent.jar=0.0.0.0:{{ amq_broker_jmx_exporter_port }}:{{ amq_broker_jmx_exporter_config_path }}'
{% else %}
JAVA_ARGS='{{ amq_broker_java_opts }}'
{% endif %}
JAVA_HOME={{ amq_broker_java_home | default(amq_broker_rpm_java_home, true) }}
21 changes: 21 additions & 0 deletions roles/amq_broker/templates/jmx_exporter.yml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:
- pattern: "^org.apache.activemq.artemis<broker=\"([^\"]*)\"><>([^:]*):\\s(.*)"
attrNameSnakeCase: true
name: artemis_$2
type: COUNTER
- pattern: "^org.apache.activemq.artemis<broker=\"([^\"]*)\",\\s*component=addresses,\\s*address=\"([^\"]*)\"><>([^:]*):\\s(.*)"
attrNameSnakeCase: true
name: artemis_$3
type: COUNTER
labels:
address: $2
- pattern: "^org.apache.activemq.artemis<broker=\"([^\"]*)\",\\s*component=addresses,\\s*address=\"([^\"]*)\",\\s*subcomponent=(queue|topic)s,\\s*routing-type=\"([^\"]*)\",\\s*(queue|topic)=\"([^\"]*)\"><>([^: ]*):\\s(.*)"
attrNameSnakeCase: true
name: artemis_$7
type: COUNTER
labels:
address: $2
"$5": $6

0 comments on commit b5567f4

Please sign in to comment.