connecting to dockerized wildfly remote JMX port for Metrics scrapping

105 views
Skip to first unread message

buba....@utg.edu.gm

unread,
Sep 30, 2017, 9:26:40 PM9/30/17
to Prometheus Users
I have spent whole day trying to configure this exporter running in a special docker container that would scrape metrices from my wildfly-10.1.0-Final container but with no success. I keep on having this timeout error. The 2 containers are running in the same docker network. But I just cannot successful get the scrapping to success. It keeps on throwing this error below:

> Sep 30, 2017 10:55:15 PM io.prometheus.jmx.JmxCollector collect
> webcontainer-jmx-exporter_1  | SEVERE: JMX scrape failed: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
> webcontainer-jmx-exporter_1  |     java.net.SocketTimeoutException: Read timed out]
> webcontainer-jmx-exporter_1  |     at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
> webcontainer-jmx-exporter_1  |     at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
> webcontainer-jmx-exporter_1  |     at io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:106)
> webcontainer-jmx-exporter_1  |     at io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:415)
> webcontainer-jmx-exporter_1  |     at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:180)
> webcontainer-jmx-exporter_1  |     at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:213)
> webcontainer-jmx-exporter_1  |     at io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:134)
> webcontainer-jmx-exporter_1  |     at io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
> webcontainer-jmx-exporter_1  |     at io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:43)
> webcontainer-jmx-exporter_1  |     at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
> webcontainer-jmx-exporter_1  |     at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
> webcontainer-jmx-exporter_1  |     at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
> webcontainer-jmx-exporter_1  |     at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
> webcontainer-jmx-exporter_1  |     at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
> webcontainer-jmx-exporter_1  |     at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
> webcontainer-jmx-exporter_1  |     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> webcontainer-jmx-exporter_1  |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> webcontainer-jmx-exporter_1  |     at java.lang.Thread.run(Thread.java:748)
> webcontainer-jmx-exporter_1  | Caused by: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
> webcontainer-jmx-exporter_1  |     java.net.SocketTimeoutException: Read timed out]
> webcontainer-jmx-exporter_1  |     at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:136)
> webcontainer-jmx-exporter_1  |     at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:205)
> webcontainer-jmx-exporter_1  |     at javax.naming.InitialContext.lookup(InitialContext.java:417)
> webcontainer-jmx-exporter_1  |     at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955)
> webcontainer-jmx-exporter_1  |     at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922)
> webcontainer-jmx-exporter_1  |     at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)


My startup script for the container look like this:

`#!/bin/sh

if [ -z "$SERVICE_PORT" ]; then
  SERVICE_PORT=5556
fi

if [ -z "$JVM_OPTS" ]; then
  JVM_OPTS=" -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9990"
fi

java $JVM_OPTS -jar /opt/jmx_exporter/jmx_prometheus_httpserver-$VERSION-jar-with-dependencies.jar $SERVICE_PORT /opt/jmx_exporter/config.yml`

And my config.yml file to be used look like this:

`---
startDelaySeconds: 0
hostPort: webcontainer:9990 #webcontainer is name of the container  running wildfly 10 which exposes port 9990 for jmx communication by default.
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
username: someuser
password: somepass
rules:
  - pattern: "^jboss.as<subsystem=messaging-activemq, server=.+, jms-(queue|topic)=(.+)><>(.+):"
    attrNameSnakeCase: true
    name: wildfly_messaging_$3
    labels:
      $1: $2

  - pattern: "^jboss.as<subsystem=datasources, (?:xa-)*data-source=(.+), statistics=(.+)><>(.+):"
    attrNameSnakeCase: true
    name: wildfly_datasource_$2_$3
    labels:
      name: $1

  - pattern: "^jboss.as<subsystem=transactions><>number_of_(.+):"
    attrNameSnakeCase: true
    name: wildfly_transaction_$1

  - pattern: "^jboss.as<subsystem=undertow, server=(.+), http-listener=(.+)><>(bytes_.+|error_count|processing_time|request_count):"
    attrNameSnakeCase: true
    name: wildfly_undertow_$3
    labels:
      server: $1
      http_listener: $2`


Any help on the right direction on how to get metrices with this exporter from jboss-wildfly-10?
Message has been deleted

buba....@utg.edu.gm

unread,
Sep 30, 2017, 9:32:08 PM9/30/17
to Prometheus Users
I'm using the prometheus exporter prometheus Exporter  as my exporter

Maxim Efimov

unread,
Apr 16, 2020, 6:32:46 AM4/16/20
to Prometheus Users
Any updates? We have the same issue with the containerized app. Though I am able to connect successfully to the specified JMX port via jconsole.

воскресенье, 1 октября 2017 г., 4:32:08 UTC+3 пользователь buba....@utg.edu.gm написал:
Reply all
Reply to author
Forward
0 new messages