zabbix监控Tomcat/JVM实例性能(115)

凉白开 zabbix21112,42945字数 1371阅读4分34秒阅读模式

最近陆续写了几个zabbix监控实例,也提供了监控模板。今天群里有兄弟问什么时候出一个zabbix通过JMX监控tomcat的文章。鉴于tomcat用户群体大而且之前也有很多兄弟有过相似需求,今天在此分享zabbix监控tomcat一文。

安装Tomcat

既然你需要监控tomcat,基本说明你已经安装好tomcat。如有正好你不会安装tomcat,那么请参考TTLSA之前的文章《Tomcat7安装文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

配置Tomcat JMX

配置jmx文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

编辑catalina.sh,加入如下配置文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

# vim /usr/local/tomcat-7.0.65/bin/catalina.sh 
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345"

启动Tomcat文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

# /usr/local/tomcat-7.0.65/bin/startup.sh 

zabbix server配置

首先我们需要了解一下他们的对应关系,zabbix_server开启java poller, zabbx_java开启JavaGateway,端口为10052,Tomcat JMX开启12345提供性能数据。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

数据获取:java poller<-->JavaGateway:10052<-->Tomcat:12345.文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

Java支持文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

编译安装zabbix server需要加上--enable-java以支持jmx监控,如果之前的zabbix server没加,那么请重新编译安装, 分享下我的安装参数:文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

# ./configure --prefix=/usr/local/zabbix-3.0.0/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java

启动zabbix_java文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

# /usr/local/zabbix-3.0.0/sbin/zabbix_java/startup.sh

zabbix_server.conf配置文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

默认未启用JavaPollers,需要修改如下配置文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

# cat /usr/local/zabbix-3.0.0/etc/zabbix_server.conf | grep Java | grep =
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

Zabbix图形界面配置

主机增加JMX接口文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

进入后台,configuration->hosts->选择你的主机->jmx interface 点击add,输入对应的tomcat ip地址和jmx端口,如下图:文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

JMX监控文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

Link TOMCAT模板文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

切换到templates选项卡,选择zabbix自带的tomcat/JMX模板,如下文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

JMX监控文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/

最后Update即可。接下去等数据。

效果展示

自带的jmx两个模板监控项目非常多,自己去摸索。

JMX监控

后续有更多zabbix实例文章,请保持对ttlsa的关注!

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 12/11/2015 01:00:19
  • 转载请务必保留本文链接:https://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/
  • JMX监控
  • jvm
  • zabbix监控java
评论  21  访客  21
    • 匿名
      匿名 9

      写的太过于简单了,里面很多问题新手根本不知道。这个只适合非常熟悉的人看。

      • 匿名
        匿名 9

        页面上jvm一直为红,并且报错java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: non-JRMP server at remote endpoint],这个要怎么解决,头疼了好久了,望大神帮个忙

        • 匿名
          匿名 9

          你好,请问zabbix页面上jmx一直显示不可用,并且内容显示为Cannot open received JSON,这要怎么解决?

          • 匿名
            匿名 9

            java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException 这个怎么解决,有谁知道,监控的项目已经都显示启用,就是报这个错,我的是zabbix-2-4-5

            • 匿名
              匿名 9

              java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.Connectl报错啊,虽然监控项全部都已经启用了,但是没有图形

              • sea
                sea 0

                java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
                java.net.ConnectException: Connection refused
                您好,这个怎么解决呢?

                • 匿名
                  匿名 9

                  java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
                  java.net.ConnectException: Connection refused
                  您好。请问怎么解决?

                  • fee
                    fee 0

                    Template JMX Tomcat: http-8080 bytes received per second jmx[“Catalina:type=GlobalRequestProcessor,name=http-8080”,bytesReceived] 1m 7d 365d JMX agent http-8080 Not supported 按照你这个配置,出现这个问题,怎么处理,谢谢

                    • 会飞的猪
                      会飞的猪 0

                      凉白开大大们,希望出个zabbix监控jetty的文章 :mrgreen: :razz:

                      • 龙
                        9

                        java -jar cmdline-jmxclient-0.10.3.jar 10.163.199.174:211 java.lang:type=Memory NonHeapMemoryUsage
                        Exception in thread “main” java.net.MalformedURLException: Bad port number: “”: java.lang.NumberFormatException: For input string: “”
                        at javax.management.remote.JMXServiceURL.(JMXServiceURL.java:211)
                        at org.archive.jmx.Client.execute(Client.java:223)
                        at org.archive.jmx.Client.main(Client.java:154)

                        请教下版主我这个问题是怎么回事。按照文档提示去修改了。但是还是报 这个错误。求解

                        • 龙
                          4

                          java -jar cmdline-jmxclient-0.10.3.jar 10.163.199.174:211 java.lang:type=Memory NonHeapMemoryUsage
                          Exception in thread “main” java.net.MalformedURLException: Bad port number: “”: java.lang.NumberFormatException: For input string: “”
                          at javax.management.remote.JMXServiceURL.(JMXServiceURL.java:211)
                          at org.archive.jmx.Client.execute(Client.java:223)
                          at org.archive.jmx.Client.main(Client.java:154)

                          请教下版主我这个问题是怎么回事。按照文档提示去修改了。但是还是报 这个错误。求解

                            • 匿名
                              匿名 9

                              @ 请问这个问题最后怎么解决的

                            • 想加群
                              想加群 9

                              你好,请问zabbix的讨论群号码是多少?我想加一下,谢谢!

                              • Da-萌
                                Da-萌 9

                                请问下,你有没有zabbix自带的tomcat模板?能发我一个吗?

                                • longdechuanren517
                                  longdechuanren517 4

                                  我想问下我如果一个机器上有多个实例的话,我怎么选择jmx模版

                                  • lklk
                                    lklk 9

                                    监控tomcat我的端口是80,但原始JMX是8080,所以取不到数据,去那里修改这个端口呢

                                    • ops
                                      ops 9

                                      其实这个监控的过程中还是有很多要注意的。个人觉得使用自带的那个serverstatus来监控就行了。什么数据都有。

                                    评论已关闭!