Java 如何启用Tomcat';是JMX Catalina支持吗?

Java 如何启用Tomcat';是JMX Catalina支持吗?,java,tomcat,jmx,zabbix,Java,Tomcat,Jmx,Zabbix,我使用Zabbix来监控指标,我有一个JavaSpring应用程序,我想查看所有指标,比如Tomcat的指标。当我使用Zabbix进行监视时,Zabbix的某些项不起作用。特别是卡塔琳娜的支持。我试图在Jconsole上查看Catalina度量,但我确实收到了任何数据。我不知道应该在哪里添加任何库或组件以获取度量 我配置了SpringJMX、RMIBeans。但无论如何,我没有找到任何答案。这对我解决问题没有帮助。 我用过这个。不幸的是,我无法解决我的问题 我试着加上这个 <depende

我使用Zabbix来监控指标,我有一个JavaSpring应用程序,我想查看所有指标,比如Tomcat的指标。当我使用Zabbix进行监视时,Zabbix的某些项不起作用。特别是卡塔琳娜的支持。我试图在Jconsole上查看Catalina度量,但我确实收到了任何数据。我不知道应该在哪里添加任何库或组件以获取度量

我配置了SpringJMX、RMIBeans。但无论如何,我没有找到任何答案。这对我解决问题没有帮助。 我用过这个。不幸的是,我无法解决我的问题

我试着加上这个

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-catalina-jmx-remote</artifactId>
    <version>8.5.9</version>
    <type>jar</type>
</dependency>

org.apache.tomcat
tomcat catalina jmx遥控器
8.5.9
罐子
在运行服务器之前,我添加了-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=-Dcom.sun.management.jmxremote=false-Dcom.sun.management.jmxremote.ssl=false-Djava.rmi.server.hostname=

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port= -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=
我希望监控tomcat应该在没有任何额外代码的情况下工作,但它不工作。基本上,我需要Tomcat的接收和发送字节。我该怎么做?

您是否如中所述在lib目录中添加了
catalinajmx remote.jar
?这很明显,但在你提到的问题中没有提到。这个
-Dcom.sun.management.jmxremote
从Java1.6开始就被弃用了。查看您是否需要正式文档。检查jps可以使用
jps-lv
或远程
jps-lv YourTomcatServer
查看您的JVM。如果它不能远程工作,则需要打开防火墙。在这种情况下,请使用侦听器阀(请参见我的第一个链接),该阀带有两个您选择的端口,您将在防火墙上打开它们,并且这两个属性仅限
-Dcom.sun.management.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false
。属性最好在
setenv.sh
中设置。一旦这样做成功,您可以首先启用身份验证,如果您想添加一些安全性,可以稍后启用SSL。该项目是用spring和tomcat嵌入到spring boot中构建的。我只是用上面的参数运行*.jar文件命令行。我推出了JConsole和Zabbix。但无论是在Jconsole还是在Zabbix。我找不到Tomcat的接收和发送字节。我看到一个Catalina的GlobalRequestProcessor在ZabbixI上不工作,它禁用了ubuntu上的所有防火墙,并在没有身份验证的情况下运行该项目。像这样
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false