instaclustr / cassandra-exporter

Java agent for exporting Cassandra metrics to Prometheus
Apache License 2.0
71 stars 45 forks source link

Problems with IPv6 addresses #106

Open lapo-luchini opened 1 year ago

lapo-luchini commented 1 year ago

I have some new nodes that are using IPv6 address as primary, and I see this in their logs:

WARN  [cassandra-exporter-harvester-defer-0] 2022-11-30 11:01:36,965 Harvester.java:191 - Failed to register collector for MBean org.apache.cassandra.metrics:type=Connection,scope=2a01.4f8.$xxx.$yyy.0.0.0.1,name=Timeouts.
java.lang.IllegalArgumentException: '2a01.4f8.$xxx.$yyy.0.0.0.1' is not an IP string literal.
kquinsland commented 3 weeks ago

Likewise, I can't get IPv6 working at all

# works, IPv4 only, though :(
JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/cassandra-exporter-agent-0.9.10.jar=--listen=:1234"

# fails
JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/cassandra-exporter-agent-0.9.10.jar=--listen=0:0:0:0:0:0:0:0:1234"

# fails
JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/cassandra-exporter-agent-0.9.10.jar=--listen=:::1234"

# fails
JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/cassandra-exporter-agent-0.9.10.jar=--listen=[::]:1234"

And more annoyingly, when in agent mode, a failure with the exporter results in a silent crash.

Naturally, this also fails:

# fails
JVM_OPTS="$JVM_OPTS -javaagent:$CASSANDRA_HOME/lib/cassandra-exporter-agent-0.9.10.jar=--verbose"
lapo-luchini commented 3 days ago

Likewise, I can't get IPv6 working at all

Have you commented out this parameter?

/usr/local/etc/cassandra/jvm.options
# Prefer binding to IPv4 network intefaces (when net.ipv6.bindv6only=1). See
# comment out this entry to enable IPv6 support).
#-Djava.net.preferIPv4Stack=true