我尝试通过 zabbix 监控 JBoss。我创建了模板和主机。在主机中我使用 JMX 接口。但是当我启用此主机时,我看到此错误:
“java.io.IOException:无法检索 RMIServer 存根:javax.naming.CommunicationException [根异常是 java.rmi.Connect。
请给我一些建议,我该如何解决这个问题?
问候 Mick
答案1
我使用以下链接让 Zabbix 监控 JBoss。
http://skajla.blogspot.com/2010/07/jboss-monitoring-using-zabbix.html
它基本上要求您在服务器上启用 JMX。然后通过 UserParameters 在服务器端运行其 .jar 文件。
UserParameter=Daemon_Threads,java -jar /opt/skajla-JMXClient.jar 127.0.0.1 9999 admin jmxpass java.lang:type=Threading DaemonThreadCount
只需确保您的 Zabbix Agent 有权限运行 .jar 文件。
如果它返回一些垃圾值,您可能需要更改一些 JMX 参数,我不得不这样做。
答案2
“企业应用服务器”通常使用 JMX 进行内部通信,甚至一些 CLI 工具连接到 JMX 以向应用服务器发送命令。在这种情况下,出于安全原因,JMX 被配置为仅与该工具通信...仅接受本地主机连接和安装期间生成的特定证书。调查您的 JBoss JMX 设置及其 ACL 设置。如果您对仅 JVM 监控感到满意,您可以在这里找到灵感:JVM SNMP 监控这种监控方式可以独立于其他设置。