ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

2019-07-07 12:55:12  阅读:346  来源: 互联网

标签:JMX java tomcat 0.0 agent zabbix 192.168 root


说在最前:
在做这次实战测试之中,在网上查了许多资料,看了不少篇文章,绝大多数都是 zabbix 对单机多 tomcat 的监控,少有 zabbix 对多台客户端上的 tomcat 分别进行监控,而且写的还非常笼统,因此,我想写这篇文章,和大家分享一下实践心得。

zabbix-server 和 zabbix-agent 安装方法在这里略过,可以参考 此前我的博客 的后半部分。

配置流程:

在安装 tomcat 的主机上执行以下操作:
1、安装zabbix_java_gateway
2、配置zabbix_java_gateway配置文件和zabbix_server配置文件,指定监听端口,启动进程数
3、编辑Tomcat配置文件,开启JMX
4、添加host,指定JMX interface
5、链接TOMCAT模板


实际操作:

1、在 tomcat 所在的机器上安装 zabbix-java-gateway

[root@ape-test2-1124 ~]# yum install -y zabbix-java-gateway

2、编辑 zabbixjavagateway.conf

[root@ape-test2-1124 ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
LISTEN_PORT=10052       //不打开也是默认 10052 端口
START_POLLERS=5     //进程数

以上步骤也需要在其他机器上操作
3、编辑服务端上的 /etc/zabbix/zabbixserver.conf

[root@iZm5ehq0spxwe0fe6nay7fZ ~]# vim /etc/zabbix/zabbix_server.conf 
JavaGateway=192.168.100.124,192.168.100.125,192.168.100.126,192.168.100.127,192.168.100.128,192.168.100.129,192.168.100.130,192.168.100.131     //JavaGateway 所安装的所有主机 ip
JavaGatewayPort=10052       //java 的 port
StartJavaPollers=5

参数不要写错,不然 zabbix-server 无法启动

4、启动 zabbix-java-gateway,加入开机启动

[root@ape-test2-1124 ~]# systemctl start zabbix-java-gateway    //其他客户端也是同样操作
[root@ape-test2-1124 ~]# systemctl enable zabbix-java-gateway
[root@ape-test2-1124 ~]# netstat -lntp|grep 10052
tcp        0      0 0.0.0.0:10052           0.0.0.0:*               LISTEN      4120/java


5、服务端重启zabbix-server

[root@iZm5ehq0spxwe0fe6nay7fZ ]# systemctl restart zabbix-server
[root@iZm5ehq0spxwe0fe6nay7fZ ~]# ps aux|grep zabbix_server
[root@iZm5ehq0spxwe0fe6nay7fZ ~]# netstat -lntp|grep 1005
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      22288/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      4290/zabbix_server  
tcp        0      0 0.0.0.0:10052           0.0.0.0:*               LISTEN      17300/java          
tcp6       0      0 :::10050                :::*                    LISTEN      22288/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      4290/zabbix_server 


6、开启 JMX

1)编辑配置文件 /usr/local/tomcat/bin/catalina.sh
在 #!/bin/sh 下增加一段

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.100.124   //tomcat 所在客户端 ip
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

2)重启 tomcat

[root@ape-test2-1124 ]# /usr/local/tomcat/bin/shutdown.sh 
[root@ape-test2-1124 ]# /usr/local/tomcat/bin/startup.sh

3)查看 9999 端口是否启动

[root@ape-test2-1124 ]# netstat -lntp |grep 9999
tcp6       0      0 :::9999                 :::                    LISTEN      8328/java*

其他客户端上也同样操作


★★★唯一不同的是 -Dcom.sun.management.jmxremote.port= 的端口号不能一样!!!

192.168.100.125上的 /usr/local/tomcat/bin/catalina.sh 里添加的参数就应该是

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.100.125 
-Dcom.sun.management.jmxremote.port=9998
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"

同理,编辑所有tomcat所在机器上的 /usr/local/tomcat/bin/catalina.sh,添加以上参数,并根据实际情况修改hostname 和 port,保存配置,重启 tomcat

7、在 zabbix 的 web 端添加新主机

1)创建新主机,配置——主机——创建主机
2)更改主机配置:主机名称——群组——移除agent代理程序接口——添加JMX接口——192.168.100.124,端口 9999

利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

3)链接模板:模板——选择Template App Apache Tomcat JMX和 Template App Generic Java JMX——添加——添加

利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

4)监测——最新数据——主机切换为arslinux-01tomcat

稍等片刻,可以观察到已经出数据了
利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

5)JMX 已通,成功

利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

6)克隆机器:主机——tomcat124——全克隆
利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

7、修改参数:名称、群组、ip、端口(注意端口号不能和其他重复)
利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战

8、同样的方法,创建其他主机,稍等一会儿就可以了

利用JMX,在 zabbix 上监控多 agent 端的 tomcat 实战
成功!!!

总结:实际操作流程和正常的利用 JMX 在 zabbix 上监控 tomcat 无异,重点区别在于 catalina.sh 中配置参数的 port 在不同的机器上需要区分开。

标签:JMX,java,tomcat,0.0,agent,zabbix,192.168,root
来源: https://blog.51cto.com/11530642/2417827

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有