Could someone help me out please?
here is my config:
I'm running redhat 7
in setenv.sh, i have added 2 lines:
Prometheus_JMX_OPTS="-javaagent:/opt/prometheus/lib/jmx_prometheus_javaagent-0.10.jar=7777:/opt/prometheus/conf/config.yml"
JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.rmi.port=3000 -Dcom.sun.management.jm
xremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
modified JAVA_OPTS to add above 2 opts:
JAVA_OPTS="-Xms${JVM_MINIMUM_MEMORY} -Xmx${JVM_MAXIMUM_MEMORY} ${JAVA_OPTS} ${OPC_JVM_ARGS} ${JVM_REQUIRED_ARGS} ${DISABLE_NOTIFICATIONS} ${JVM_SUPPOR
T_RECOMMENDED_ARGS} ${JVM_EXTRA_ARGS} ${JIRA_HOME_MINUSD} ${JMX_OPTS} ${Prometheus_JMX_OPTS}"
downloaded javaagent.jar and placed in the folder
created config.yml file and placed in the folder. here is the file content:
hostPort: localhost:5555
username:
password:
rules:
restarted app,
queried the metrics http://localhost:7777/metrics
jvm_memory_bytes_used{area="heap",} 1.349973384E9
jvm_memory_bytes_used{area="nonheap",} 2.96595936E8
jvm_memory_bytes_committed{area="heap",} 8.392278016E9
jvm_memory_bytes_committed{area="nonheap",} 3.19315968E8
jvm_memory_bytes_max{area="heap",} 8.392278016E9
jvm_memory_bytes_max{area="nonheap",} -1.0
jvm_memory_pool_bytes_used{pool="Code Cache",} 6.3392448E7
jvm_memory_pool_bytes_used{pool="Metaspace",} 2.056872E8
jvm_memory_pool_bytes_used{pool="Compressed Class Space",} 2.7516288E7
jvm_memory_pool_bytes_used{pool="PS Eden Space",} 1.005291552E9
jvm_memory_pool_bytes_used{pool="PS Survivor Space",} 1.3884524E8
jvm_memory_pool_bytes_used{pool="PS Old Gen",} 2.05836592E8
jvm_memory_pool_bytes_committed{pool="Code Cache",} 6.4159744E7
jvm_memory_pool_bytes_committed{pool="Metaspace",} 2.22732288E8
jvm_memory_pool_bytes_committed{pool="Compressed Class Space",} 3.2423936E7
jvm_memory_pool_bytes_committed{pool="PS Eden Space",} 2.48774656E9
jvm_memory_pool_bytes_committed{pool="PS Survivor Space",} 1.77733632E8
jvm_memory_pool_bytes_committed{pool="PS Old Gen",} 5.726797824E9
jvm_memory_pool_bytes_max{pool="Code Cache",} 2.5165824E8
jvm_memory_pool_bytes_max{pool="Metaspace",} -1.0
jvm_memory_pool_bytes_max{pool="Compressed Class Space",} 1.073741824E9
jvm_memory_pool_bytes_max{pool="PS Eden Space",} 2.497708032E9
jvm_memory_pool_bytes_max{pool="PS Survivor Space",} 1.77733632E8
jvm_memory_pool_bytes_max{pool="PS Old Gen",} 5.726797824E9
jmx_scrape_duration_seconds 0.001350404
jmx_scrape_error 1.0
jmx_config_reload_success_total 0.0
jmx_config_reload_failure_total 0.0
process_cpu_seconds_total 247.45
process_start_time_seconds 1.504714538615E9
process_open_fds 722.0
process_max_fds 4096.0
process_virtual_memory_bytes 2.0026785792E10
process_resident_memory_bytes 3.706384384E9
jvm_info{version="1.8.0_51-b16",vendor="Oracle Corporation",} 1.0
jvm_threads_current 120.0
jvm_threads_daemon 105.0
jvm_threads_peak 121.0
jvm_threads_started_total 160.0
jvm_threads_deadlocked 0.0
jvm_threads_deadlocked_monitor 0.0
jvm_gc_collection_seconds_count{gc="PS Scavenge",} 12.0
jvm_gc_collection_seconds_sum{gc="PS Scavenge",} 0.969
jvm_gc_collection_seconds_count{gc="PS MarkSweep",} 5.0
jvm_gc_collection_seconds_sum{gc="PS MarkSweep",} 1.431
jvm_classes_loaded 40750.0
jvm_classes_loaded_total 40756.0
jvm_classes_unloaded_total 6.0
But from log file, I saw errors:
06-Sep-2017 16:43:30.918 SEVERE [pool-1-thread-2] io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect JMX scrape failed: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:106)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:415)
at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:180)
at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:213)
at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:134)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:43)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: org.apache.naming.java.javaURLContextFactory [Root exception is java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
at javax.naming.InitialContext.init(InitialContext.java:244)
at javax.naming.InitialContext.(InitialContext.java:216)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955)
at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1924)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)
... 17 more
Caused by: java.lang.ClassNotFoundException: org.apache.naming.java.javaURLContextFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:72)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:61)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:672)
... 23 more
I searched around, but couldn't find any useful solution to fix the issue.
any assistance will be greatly appreciated!
hostPort: localhost:5555
username:
password:
rules:
hostPort: localhost:5555
username:
password:
----------------
startDelaySeconds: 0
hostPort: localhost
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
rules:
- pattern: ".*"
--------------------
2019-07-31 08:40:44,103 ERROR [pool-1-thread-3] [io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector] - JMX scrape failed: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:java.net.ConnectException: Connection refused (Connection refused)]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxScraper.doScrape(JmxScraper.java:94)at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.collect(JmxCollector.java:468)at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.findNextElement(CollectorRegistry.java:183)at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:216)at io.prometheus.jmx.shaded.io.prometheus.client.CollectorRegistry$MetricFamilySamplesEnumeration.nextElement(CollectorRegistry.java:137)at io.prometheus.jmx.shaded.io.prometheus.client.exporter.common.TextFormat.write004(TextFormat.java:22)at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer$HTTPMetricHandler.handle(HTTPServer.java:59)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:java.net.ConnectException: Connection refused (Connection refused)]at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:136)at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:205)at javax.naming.InitialContext.lookup(InitialContext.java:417)at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955)at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)... 17 more
Caused by: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:java.net.ConnectException: Connection refused (Connection refused)at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:338)at sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:112)at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:132)... 22 moreCaused by: java.net.ConnectException: Connection refused (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at java.net.Socket.connect(Socket.java:538)at java.net.Socket.<init>(Socket.java:434)at java.net.Socket.<init>(Socket.java:211)at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)