1

i don't know what wrong about my config.yaml

I followed the example on the official website to configure my config.yaml, and When I'm done configuring it. I run the command:

java -javaagent:./jmx_prometheus_javaagent-0.12.0.jar=8980:config.yaml -jar /usr/local/tomcat/apache-activemq/apache-activemq-5.8.0_56/bin/activemq.jar

but I get error about my config.yaml

here is my config file

[root@sz-7-centos162 test]# cat config.yaml 
{
        startDelaySeconds: 0,
        username: admin,
        password: admin,
        jmxUrl: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi,
        ssl: false,
        lowercaseOutputName: false,
        lowercaseOutputLabelNames: false
}

here is the error log:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: while scanning a plain scalar
 in 'reader', line 5, column 17:
            jmxUrl: service:jmx:rmi:///jndi/rmi://lo ... 
                    ^
found unexpected ':'
 in 'reader', line 5, column 24:
            jmxUrl: service:jmx:rmi:///jndi/rmi://localhost ... 
                           ^
Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.

    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.scanner.ScannerImpl.scanPlain(ScannerImpl.java:2013)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.scanner.ScannerImpl.fetchPlain(ScannerImpl.java:1046)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:401)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:226)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.parser.ParserImpl$ParseFlowMappingValue.produce(ParserImpl.java:762)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:143)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:132)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:229)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)
    at io.prometheus.jmx.shaded.org.yaml.snakeyaml.Yaml.load(Yaml.java:393)
    at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.<init>(JmxCollector.java:74)
    at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:29)
    ... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Aborted
Esc
  • 521
  • 13
  • 30
  • Possible duplicate of [How to escape indicator characters (i.e. : or - ) in YAML](https://stackoverflow.com/questions/11301650/how-to-escape-indicator-characters-i-e-or-in-yaml) – CheeseFerret Aug 30 '19 at 15:45

2 Answers2

0

Wrap the URL in quotes e.g. jmxUrl: "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi"

CheeseFerret
  • 597
  • 11
  • 21
0

You'll want to wrap the value in quotes like so:

jmxUrl: "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi",

See here for more information: How to escape indicator characters (i.e. : or - ) in YAML