首页 > 解决方案 > 无法在 Windows 10 for Cassandra 上运行 prometheus

问题描述

我正在按照本教程Prometheus运行Windows10。本教程适用于linux. 我想我需要更改的唯一命令是 for powershell。但是,当我尝试访问指标时,应用程序无法连接。

https://www.robustperception.io/monitoring-cassandra-with-prometheus

而不是echo 'JVM_OPTS="$JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0.3.0.jar=7070:$PWD/cassandra.yml'"' >> conf/cassandra-env.sh,我在cassandra-env.ps1

    # Default JMX setup, bound to local loopback address only
    $env:JVM_OPTS="$env:JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT"
    $env:JVM_OPTS="$env:JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0.3.0.jar=7070:$PWD/cassandra.yml'"' <-- HERE

    $env:JVM_OPTS="$env:JVM_OPTS $env:JVM_EXTRA_OPTS"
}

http://localhost:7070/metrics不起作用

更新现在,我已经从.sh. 并ps1添加javaagent唯一的 inbin/cassanbra.bat文件,因为这似乎是 Windows 所需的

https://docs.appdynamics.com/display/PRO45/Apache+Cassandra+Startup+Settings

但现在我得到错误

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:498)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.NumberFormatException: For input string: "C"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.lang.Integer.parseInt(Integer.java:580)
        at java.lang.Integer.parseInt(Integer.java:615)
        at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:38)
        ... 6 more
FATAL ERROR in native method: processing of -javaagent failed

标签: windowsbatch-filecassandraprometheus

解决方案


而不是这个:

$env:JVM_OPTS="$env:JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0.3.0.jar=7070:$PWD/cassandra.yml'"'

尝试这个:

$env:JVM_OPTS="$env:JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0.3.0.jar=7070:$PWD/cassandra.yml'"

我从行尾删除了一个单引号。


推荐阅读