设为首页 收藏本站
查看: 2006|回复: 1

[经验分享] Zabbix监控tomcat连接超时排查和处理

[复制链接]

尚未签到

发表于 2018-12-2 13:49:06 | 显示全部楼层 |阅读模式
  近期由于业务项目的需要,考虑用zabbix jvm监控tomcat的一些性能等数据,中途出现了一些故障和问题,现记录下来分享给大家。
  基础环境:

  zabbix server:  CentOS 7.2  IP:10.201.60.11  zabbix_java_getway  zabbix 3.2

  Tomcat server : CentOS 7.2   IP:10.201.30.15    tomcat 8  jdk 8

  硬件防火墙:华为USG6306
  10.201.60.11与10.201.30.15防火墙规则为 zabbix server  可以访问 Tomcat server的10050端口,
  关于配置zabbix server与zabbix_java_getway等配置不做详细介绍,以下是相关的配置文件:
zabbix_java_getway.conf默认配置即可  在zabbix_server.conf里面添加以下信息
JavaGateway=10.201.60.11
StartJavaPollers=5
JavaGatewayPort=10052
启动相关服务。
  更改tomcat主机的tomcat配置文件
[admin@bund-www-p-030015 bin]$ pwd
/usr/install/tomcat8/bin
[admin@bund-www-p-030015 bin]$ ls
bootstrap.jar       commons-daemon-native.tar.gz  digest.sh         startup.bat           tool-wrapper.sh
catalina.bat        configtest.bat                setclasspath.bat  startup.sh            version.bat
catalina.sh         configtest.sh                 setclasspath.sh   tomcat-juli.jar       version.sh
catalina-tasks.xml  daemon.sh                     shutdown.bat      tomcat-native.tar.gz
commons-daemon.jar  digest.bat                    shutdown.sh       tool-wrapper.bat
[admin@bund-www-p-030015 bin]$
在catalina.sh 文件中添加以下配置一般是加在配置文件前面。
CATALINA_OPTS="
-Dcom.sun.management.jmxremote
-Djavax.management.builder.initial=
-Djava.rmi.server.hostname=10.201.30.15
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=12345"
重启tomcat程序,用cmdline-jmxclient-0.10.3 做相关的测试  获取数据正常
[admin@bund-www-p-030015 bin]$ java   -jar   /tmp/cmdline-jmxclient-0.10.3.jar  - 10.201.30.15:12345 java.lang:type=Memory NonHeapMemoryUsage
08/25/2017 13:03:26 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 82509824
init: 2555904
max: -1
used: 80213592  在zabbix_server上测试有以下报错,防火墙上面已经开启了12345端口的策略,但是链接过程中还是出现超时现象,用telnet测试12345端口,确实是可以访问的,zabbix的UI界面也是链接超时,于是查资料,说jvm在监控tomcat的时候,除了12345端口外还会随机开启两个端口,提供相关的服务,于是判断,这肯定是防火墙策略过高,于是将所有的端口开放,再检查竟然是可以连接的。
[admin@10-201-60-11 zabbix]$ java -jar /tmp/cmdline-jmxclient-0.10.3.jar  - 10.201.30.15:12345 java.lang:type=Memory NonHeapMemoryUsage
Exception in thread "main" java.rmi.ConnectException: Connection refused to host: 10.201.30.15; nested exception is:
    java.net.ConnectException: Connection timed out (Connection timed out)
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130)
    at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
    at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2430)
    at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)
    at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
    at org.archive.jmx.Client.execute(Client.java:225)
    at org.archive.jmx.Client.main(Client.java:154)
Caused by: java.net.ConnectException: Connection timed out (Connection timed out)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.(Socket.java:434)
    at java.net.Socket.(Socket.java:211)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
    ... 9 more  更改防火墙后,访问正常,看来真是防火墙端口问题,这下可坑爹了,难道就将防火墙的端口开设成12345-65535吗?
[admin@10-201-60-11 zabbix]$ java -jar /tmp/cmdline-jmxclient-0.10.3.jar  - 10.201.30.15:12345 java.lang:type=Memory NonHeapMemoryUsage
08/25/2017 13:09:47 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 82509824
init: 2555904
max: -1
used: 80266536  那这样的安全系数和策略太差劲了,所以继续度娘,找相关的配置,有类似指定端口类的说法,在tomcat的配置文件server.xml中添加以下配置。

  
  
  
  
  
  
  
  
  重启tomcat服务发现类似12345端口已经绑定的错误,突然想起之前在catalina.sh文件中指定一个12345端口  在server.xml中又配置了12345端口,于是继续改,将catalina.sh里的12345端口注释掉,再启动tomcat,查看监听端口,

admin@bund-www-p-030015 conf]$ netstat  -nltup
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -                  
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      -                  
tcp6       0      0 :::8080                 :::*                    LISTEN      4926/java           
tcp6       0      0 :::26613                :::*                    LISTEN      4926/java           
tcp6       0      0 :::22                   :::*                    LISTEN      -                  
tcp6       0      0 :::12345                :::*                    LISTEN      4926/java           
tcp6       0      0 :::12346                :::*                    LISTEN      4926/java           
tcp6       0      0 :::10050                :::*                    LISTEN      -                  
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      4926/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      4926/java           
udp        0      0 0.0.0.0:40318           0.0.0.0:*                           -                  
udp        0      0 0.0.0.0:2583            0.0.0.0:*                           -                  
udp        0      0 0.0.0.0:63117           0.0.0.0:*                           -                  
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -                  
udp        0      0 10.201.30.15:123        0.0.0.0:*                           -                  
udp        0      0 127.0.0.1:123           0.0.0.0:*                           -                  
udp        0      0 0.0.0.0:123             0.0.0.0:*                           -                  
udp6       0      0 :::37436                :::*                                -                  
udp6       0      0 fe80::f8db:66ff:fe6:123 :::*                                -                  
udp6       0      0 ::1:123                 :::*                                -                  
udp6       0      0 :::123  发现12345、12346端口处于监听,然后将防火墙策略改为12345-12346端口访问。再测试正常,基本问题解决。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642433-1-1.html 上篇帖子: tomcat 的catalina.out 日志切割 下篇帖子: tomcat运行模式(bio,aio,apr)

尚未签到

发表于 2019-4-18 16:21:38 | 显示全部楼层
你好,请问你文中的server.xml配置是什么?看不到

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表