Skip to content
BleemeoBleemeo

Confluence

Auto-Detection
Built-in Metrics

Bleemeo monitors Confluence through automatic service detection and JMX metrics collection for wiki performance.

Glouton automatically detects Confluence instances running on the system.

To enable metrics gathering, the Bleemeo agent must be installed with JMX enabled. See Java JMX Metrics for setup details.

Confluence must also expose JMX over a TCP port. Follow the Live Monitoring Using the JMX Interface guide.

Summary for unauthenticated access:

  • Add -Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false to the JVM. The default Confluence startup script accepts these from CATALINA_OPTS or JAVA_OPTS environment variables.

If auto-detected parameters are incorrect, you can override them manually.

Terminal window
sudo tee /etc/glouton/conf.d/99-confluence.conf > /dev/null << 'EOF'
service:
# For a Confluence running outside a container
- type: "confluence"
address: "127.0.0.1"
port: 8090
jmx_port: 3333
jmx_username: "monitorRole" # by default, no authentication is done
jmx_password: "secret"
# For an additional Confluence running outside a container
- type: "confluence"
instance: "NAME_ASSOCIATED_WITH_YOUR_ADDITIONAL_SERVICE"
address: "127.0.0.1"
port: 8091
jmx_port: 3334
jmx_username: "monitorRole" # by default, no authentication is done
jmx_password: "secret"
# For a Confluence running in a Docker container
- type: "confluence"
instance: "CONTAINER_NAME"
address: "172.17.0.2"
port: 8090
jmx_port: 3333
jmx_username: "monitorRole" # by default, no authentication is done
jmx_password: "secret"
EOF

Glouton automatically detects configuration changes.

MetricDescription
service_statusStatus of Confluence
confluence_db_query_timeDatabase query time in seconds
confluence_jvm_gcNumber of garbage collections per second
confluence_jvm_gc_utilizationGarbage collection utilization in percent
confluence_jvm_heap_usedHeap memory used in bytes
confluence_jvm_non_heap_usedNon-heap memory used in bytes
confluence_last_index_timeTime of last indexing task in seconds
confluence_queued_error_mailsNumber of error mails queued
confluence_queued_index_tasksNumber of indexing tasks queued
confluence_queued_mailsNumber of mails queued
confluence_request_timeAverage time of request in seconds
confluence_requestsNumber of requests per second

See Troubleshoot a Service Check or Missing Metrics for what applies to every service: finding the address and port Glouton really uses, what each check message means, and how to read the collection error — which does not appear in the agent logs at the default level.

The check only opens the TCP port — it sends no command — so it fails when the port is wrong (Connection refused), when a firewall drops the packets (connection timed out after 10 seconds), or when the configured address cannot be parsed (Invalid TCP address). A green check proves the port is open, and nothing more.

A passing check says nothing about the metrics: they are collected separately.

These metrics travel through JMX, which is a separate pipeline: Glouton writes /var/lib/jmxtrans/glouton-generated.json, jmxtrans connects to the JVM’s JMX port, and pushes the values back to Glouton. Every link has to be in place.

Check that the port is open and answers, from the machine where the agent runs. This only shows a JVM running on the host — for a containerized JVM, compare the address in discovery.txt with the ports the container itself listens on:

Terminal window
sudo ss -lntp | grep java
What you see Cause Fix
the bleemeo-agent-jmx package is missing jmxtrans is not installed sudo apt-get install bleemeo-agent-jmx (or yum) — see Java Monitoring with JMX
discovery.txt shows no JMX port for the service No JMX port Glouton reads it from the JVM command line (-Dcom.sun.management.jmxremote.port); if the JVM does not have it, set jmx_port in the service configuration
connection refused by the JVM JMX authentication is enabled Set jmx_username and jmx_password
jmxtrans connects, then times out JMX answered with an RMI address jmxtrans cannot reach The JVM must advertise the address discovery.txt shows for the service, with -Djava.rmi.server.hostname
nothing at all, for a JVM in a container jmxtrans connects to the container address, not to a port published on the host Publishing the port does not help. The JMX and RMI ports have to answer on the container address, and -Djava.rmi.server.hostname has to be that address

Confluence exposes its MBeans only when JMX monitoring is enabled in Administration → General Configuration → Monitoring.