integrations/activemq/documentation.yaml (167 lines of code) (raw):
exporter_type: sidecar
app_name_short: ActiveMQ
app_name: Apache {{app_name_short}}
app_site_name: ActiveMQ
app_site_url: https://activemq.apache.org/
exporter_name: the JMX exporter
exporter_pkg_name: jmx-exporter
exporter_repo_url: https://github.com/bitnami/containers/tree/main/bitnami/jmx-exporter#readme
dashboard_available: true
minimum_exporter_version: "0.17.0"
multiple_dashboards: false
dashboard_display_name: {{app_name_short}} Prometheus Overview
config_mods: |
apiVersion: v1
kind: ConfigMap
metadata:
name: activemq-exporter
data:
config.yaml: |
hostPort: localhost:1099
lowercaseOutputName: true
lowercaseOutputLabelNames: true
blacklistObjectNames:
- "org.apache.activemq:clientId=*,*"
whitelistObjectNames:
- "org.apache.activemq:destinationType=Queue,*"
- "org.apache.activemq:destinationType=Topic,*"
- "org.apache.activemq:type=Broker,brokerName=*"
- "org.apache.activemq:type=Topic,brokerName=*"
rules:
- pattern: org.apache.activemq<type=Broker, brokerName=(\S*), destinationType=Queue, destinationName=(\S*)><>(\w+)
name: activemq_queue_$3
attrNameSnakeCase: true
labels:
destination: $2
- pattern: org.apache.activemq<type=Broker, brokerName=(\S*), destinationType=Topic, destinationName=(\S*)><>(\w+)
name: activemq_topic_$3
attrNameSnakeCase: true
labels:
destination: $2
- pattern: org.apache.activemq<type=Broker, brokerName=(\S*)><>CurrentConnectionsCount
name: activemq_connections
type: GAUGE
- pattern: org.apache.activemq<type=Broker, brokerName=(\S*)><>Total(.*)Count
name: activemq_$2_total
type: COUNTER
- pattern: org.apache.activemq<type=Broker, brokerName=(\S*)><>(.*)PercentUsage
name: activemq_$2_usage_ratio
type: GAUGE
valueFactor: 0.01
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: activemq
spec:
selector:
matchLabels:
+ app.kubernetes.io/name: activemq
template:
metadata:
labels:
+ app.kubernetes.io/name: activemq
spec:
containers:
- name: activemq
image: rmohr/activemq:5.15.9-alpine
+ ports:
+ - containerPort: 1099
+ name: jmx
+ env:
+ - name: ACTIVEMQ_JMX
+ value: "1099"
+ - name: ACTIVEMQ_OPTS
+ value: "-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.rmi.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
+ - name: exporter
+ image: bitnami/jmx-exporter:0.17.0
+ command:
+ - java
+ - -jar
+ - jmx_prometheus_httpserver.jar
+ args:
+ - "9000"
+ - config.yaml
+ ports:
+ - containerPort: 9000
+ name: prometheus
+ volumeMounts:
+ - mountPath: /opt/bitnami/jmx-exporter/config.yaml
+ subPath: config.yaml
+ name: activemq-exporter
+ volumes:
+ - name: activemq-exporter
+ configMap:
+ name: activemq-exporter
+ items:
+ - key: config.yaml
+ path: config.yaml
podmonitoring_config: |
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
name: activemq
labels:
app.kubernetes.io/name: activemq
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
endpoints:
- port: prometheus
scheme: http
interval: 30s
path: /metrics
selector:
matchLabels:
app.kubernetes.io/name: activemq
additional_prereq_info: |
ActiveMQ Brokers can be configured for [JMX](https://activemq.apache.org/jmx){:class=external}
by setting the `ACTIVEMQ_JMX` and `ACTIVEMQ_OPTS` environment variables.
sample_promql_query: up{job="activemq", cluster="{{cluster_name}}", namespace="{{namespace_name}}"}
alerts_config: |
apiVersion: monitoring.googleapis.com/v1
kind: Rules
metadata:
name: activemq-rules
labels:
app.kubernetes.io/component: rules
app.kubernetes.io/name: activemq-rules
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
groups:
- name: activemq
interval: 30s
rules:
- alert: ActiveMQNoConnections
annotations:
description: |-
ActiveMQ no connections
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: ActiveMQ down (instance {{ $labels.instance }})
expr: activemq_connections_total{job="activemq"} == 0
for: 5m
labels:
severity: warning
- alert: ActiveMQHighStoreUsage
annotations:
description: |-
ActiveMQ high store usage
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: ActiveMQ high store usage (instance {{ $labels.instance }})
expr: activemq_store_usage_ratio{job="activemq"} > 0.9
for: 5m
labels:
severity: warning
- alert: ActiveMQHighTempStoreUsage
annotations:
description: |-
ActiveMQ high temp store usage
VALUE = {{ $value }}
LABELS: {{ $labels }}
summary: ActiveMQ high temp store usage (instance {{ $labels.instance }})
expr: activemq_temp_usage_ratio{job="activemq"} > 0.9
for: 5m
labels:
severity: warning
additional_alert_info: You can adjust the alert thresholds to suit your application.