【问题标题】:jmx authentication failed in cassandra (zabbix)jmx 身份验证在 cassandra (zabbix) 中失败
【发布时间】:2023-03-11 22:57:01
【问题描述】:

我尝试使用 JMX 为 cassandra 集群设置 zabbix 监控,但在节点上出现以下错误。请帮我解决这个问题,

在 zabbix ui 中,cassandra 主机向我显示了这个错误:

java.lang.SecurityException: Authentication failed! Credentials required

JAVA 网关日志

2017-06-07 11:57:47.538 [pool-1-thread-1] WARN  com.zabbix.gateway.SocketProcessor - error processing request
com.zabbix.gateway.ZabbixException: java.lang.SecurityException: Authentication failed! Credentials required
        at com.zabbix.gateway.JMXItemChecker.getValues(JMXItemChecker.java:97) ~[zabbix-java-gateway-3.0.9.jar:na]
        at com.zabbix.gateway.SocketProcessor.run(SocketProcessor.java:62) ~[zabbix-java-gateway-3.0.9.jar:na]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.SecurityException: Authentication failed! Credentials required
        at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticationFailure(Unknown Source) ~[na:1.8.0_131]
        at com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticate(Unknown Source) ~[na:1.8.0_131]
        at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.authenticate(JMXServerUtils.java:257) ~[na:na]
        at javax.management.remote.rmi.RMIServerImpl.doNewClient(Unknown Source) ~[na:1.8.0_131]
        at javax.management.remote.rmi.RMIServerImpl.newClient(Unknown Source) ~[na:1.8.0_131]
        at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_131]

【问题讨论】:

    标签: cassandra jmx cassandra-2.0 zabbix


    【解决方案1】:

    您必须在 JMX 项中设置有效的用户名和密码。使用nodetool 测试用户名和密码。

    【讨论】:

    • 当我使用 nodetool 状态时它可以正常工作。我们在这里设置用户名和密码吗? JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/jmxremote.password"
    • 一般来说是的,但是您是否在所有 JMX 项中设置了凭据?
    • 是的,每个参数我都指向 JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.password.file=/etc/cassandra/‌​jmxremote.password"
    • 不确定“每个参数”是什么意思,但这与 Cassandra 中的 JMX 配置无关。您是如何在 Zabbix 中配置凭据的?
    • 当然——如果你限制对 JMX 的访问,以至于即使 nodetool 没有凭据也无法连接,Zabbix 怎么能回避呢?在 JMX 项中设置正确的凭据。
    猜你喜欢
    • 1970-01-01
    • 2014-01-24
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2014-05-23
    相关资源
    最近更新 更多