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模板:
在主机模板中添加系统自带的两个JMX模板:
在配置了这些模板之后,默认情况下有些参数是获取不到的,这就需要我们对监控项目进行修改,具体如何修改我在zabbix 使用模板监控tomcat一文中有具体的配置过程。
本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1921708