Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行

一、简介

1、什么是JMX?

JMX的全称是Java Management Extensions,即Java管理扩展(Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架,JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用)。Java程序会开放一些端口,用来获取运行状况。Zabbix 2.0开始,内置了监控JMX的功能,叫做“Zabbix Java Gateway”,在Zabbix Server和Zabbix Proxy上启动名为“Zabbix Java Gateway”的进程,当需要获取JMX数据时,Zabbix Server会“问”JMX Gateway,然后JMX Gateway根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动的时候加上一些JVM参数,使得它可以支持使用端口监控JMX。

2、监控原理

当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用"JMXmanagementAPI"去查询特定的应用程序,而前提是应用程序这端在开启时需要"-Dcom.sun.management.jmxremote"参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据。
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第1张图片

3、监控架构

Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第2张图片

二、配置Zabbix 通过JMX监控 java实例运行

实验环境

主机名 ip 服务 版本
server1 172.25.1.1 zabbix-server,zabbix-web,mariadb-server,zabbix-java-gateway rhel7.3
server2 172.25.1.2 zabbix-agent,tomcat rhel7.3

实验

在web界面查看,发现server2上未开启监控JMX功能
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第3张图片

1、安装tomcat+jdk

在server2上
步骤一:在网上下载tomcat和jdk,并安装
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第4张图片
步骤二:创建软链接

cd /usr/local/
ln -s apache-tomcat-8.5.24/ tomcat

在这里插入图片描述
步骤三:编辑tomcat测试文件

cd /usr/local/tomcat/webapps/ROOT/
vim test.jsp
The time is:<%=new java.util.Date() %>

步骤四:向tomcat配置文件中添加JVM的参数使得它可以支持使用端口监控JMX,并开启tomcat

cd /usr/local/tomcat/bin
vim catalina.sh
109 CATALINA_OPTS='-Dcom.sun.management.jmxremote #开启远程监控
110   -Dcom.sun.management.jmxremote.port=8888 #远程监控端口
111   -Dcom.sun.management.jmxremote.ssl=false   #远程ssl验证为false
112   -Dcom.sun.management.jmxremote.authenticate=false' 

./startup.sh  #开启tomcat服务
netstat -antuple | grep 8080   #查看服务开启端口

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

步骤五:在web页面搜索刚才编辑的测试文件,测试tomcat是否正常工作
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第5张图片

2、配置zabbix-java-gateway

在server1上
步骤一:安装zabbix-java-gateway

yum install zabbix-java-gateway -y

Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第6张图片
步骤二:开启zabbix-java-gateway服务

systemctl start zabbix-java-gateway
systemctl enable zabbix-java-gateway
netstat -antlp | grep 10052

在这里插入图片描述
步骤三:编辑zabbix-server的配置文件,添加zabbix-java-gateway的相关信息,并重启服务

vim /etc/zabbix/zabbix_server.conf
288 JavaGateway=172.25.1.1
289 JavaGatewayPort=10052
290 StartJavaPollers=5
systemctl restart zabbix-server

在这里插入图片描述
在这里插入图片描述

3、在web界面添加JMX接口信息

配置—> 主机—> server2—> 主机—> 添加JMX接口的信息(端口要和配置文件中写的一样) —> 添加
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第7张图片
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第8张图片
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第9张图片
模板—> 选择图中的模板 —> 添加 —> 更新

Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第10张图片Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第11张图片Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第12张图片
等几分钟刷新,可以看到server2的JMX变绿
Zabbix分布式监控(5)——Zabbix 通过JMX监控 java实例运行_第13张图片

你可能感兴趣的:(Linux企业实战)