开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Zabbix使用jmx监控多台tomcat

简介:
+关注继续查看

Zabbix自带了一部分对于JMX的监控,如果要想使用此模板对tomcat进行比较简单的监控可以考虑使用此模板。

与其他应用使用zabbix-agent不同,对JMX进行监控需要使用zabbix-java-gateway来与系统的JMX交互获取数据。zabbix-server 通过java-gateway的10052(默认端口)建立通信连接,java-gateway通过远程主机JMX的12345(默认端口)来获取数据。这里需要使用此Java命令行参数

“-Dcom.sun.management.jmxremote.port”在远程主机(JMX)上设置。通常它是在JAVA_OPTS环境变量中配置的。需要注意的是java-gateway仅仅作为一个转发数据的代理,不缓存任何数据。

这里使用三台机器来作为监控多个tomcat,一台作为zabbix-server, 另两台作为tomcat服务器。默认所有机器都已经安装好了zabbix server 和zabbix-agent(具体安装方式可参考我之前的文章),和tomcat.


提示:在一个zabbix-server环境中,只能有一个zabbix-java-gateway作为代理。


监控JMX配置步骤

1、在zabbix服务器上安装配置zabbix-java-gateway(也可单独安装在其他机器上)。

2、配置tomcat服务器 JMX服务相关参数

3、zabbix-serve配置zabbix-gateway.

4、zabbix web添加监控



Zabbix 服务器上安装配置zabbix-java-gateway

1、下载官方提供的软件包并进行安装:

1
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.4-2.el7.x86_64.rpm
1
yum install zabbix-java-gateway-3.2.4-2.el7.x86_64.rpm

2、查看安装路径,使用rpm包的方式默认是安装在/usr/share/zabbix-java-gateway/目录

1
2
rpm -qpl zabbix-java-gateway-3.2.4-2.el7.x86_64.rpm  
cd /usr/share/zabbix-java-gateway/bin/

3、启动zabbix-java-gateway,默认的监听端口为10052,如果需要修改端口可以参考此链接

1
systemctl start zabbix-java-gateway


配置tomcat JMX服务相关参数

1、修改tomcat配置文件,启用JMX

1
2
3
4
5
6
7
8
vim /usr/local/tomcat7/bin/catalina.sh 
#文件中添加如下内容:
 
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote  #开启jmx远程监控
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false #免密码认证
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.56.11" #tomcat服务器IP

 在另一台tomcat上使用相同的配置,IP改为本地的外网IP,此处的IP是JMX Interface的接口。

1
2
3
4
5
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote  
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.56.12"


2、重启tomcat 服务器,JMX的1234端口开启

1
2
3
cd /usr/local/tomcat7/bin/
./shutdown.sh
./startup.sh


zabbix-serve配置zabbix-gateway

1、修改zabbix-server的配置文件如下

1
2
3
4
5
6
7
8
9
10
grep "^[A-Z]" /usr/local/zabbix_server/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
JavaGateway=127.0.0.1   #JavaGateway所在服务器的IP
JavaGatewayPort=10052   #JavaGateway的默认端口
StartJavaPollers=5     #JVM进行监控轮询实例数,默认是0,关闭状态,需要开启
Timeout=4
LogSlowQueries=3000

2、重启zabbix-server

1
2
killall zabbix_server
./zabbix_server -c /usr/local/zabbix_server/etc/zabbix_server.conf


zabbix web添加监控

在web界面添加主机,并在主机上添加JMX模板:


wKiom1kJqeaD825RAAJQ_8QBuCg858.bmp


在主机模板中添加系统自带的两个JMX模板:

wKiom1kJqoaQRx91AAGpzW-LFBA668.bmp在展示界面,可以看到已经自动添加的图像监控选项:

wKioL1kJqyLQHqIrAAHWKnaVzaM136.bmp

在配置了这些模板之后,默认情况下有些参数是获取不到的,这就需要我们对监控项目进行修改,具体如何修改我在zabbix 使用模板监控tomcat一文中有具体的配置过程。


 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1921708


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Zabbix对Tomcat的监控
Zabbix通过java gateway 及 JMX  对Tomcat 进行监控,并实现自定义模板的导入及应用,模拟实际生产中的Tomacat性能等参数的图形监测显示。
0 0
shell脚本配合zabbix实现tomcat的故障自愈
shell脚本配合zabbix实现tomcat的故障自愈 1.背景及实现方式方法 Tomcat运行JAVA类的程序代码经常会导致内存溢出,往往都是收到告警后再去处理,收到报警再处理就会拖延故障解决的时间,因此就需要靠故障自愈的机制来解决人为干预的成本。
0 0
zabbix监控tomcat的jvm内存(二十七)
zabbix监控tomcat的jvm内存 1.介绍 tomcat监控主要是jvm,又来了jvm监控我们可以看到jvm的内存使用情况,内存溢出情况 zabbix监控tomcat使用的是zabbix-java-gateway,zabbix-java-gateway需要java环境
0 0
zabbix精华篇-低级自动发现详解---批量自动获取主机所有tomcat端口并进行监控(二十四)
zabbix利用低级自动发现自动监控tomcat端口 1.为什么要使用自动发现 由于我们tomcat服务器特别多,且每一个上面跑的实例长达几十个,但是这些tomcat的端口也都需要监控起来,如果手动添加的话将会非常麻烦,我们可以利用自动发现,将自动发现配置一些规则并做成模板,给有tomcat的服务器链接模板就可以了,这个过程就会大大减少人工的工作量
0 0
zabbix tomcat模板
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。
1124 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Zabbix 监控常用手册》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载