Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat

本实验是在《Zabbix分布式监控实战(1)——Zabbix简介及Zabbix监控平台的搭建》实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web界面上配置好了图案的汉字化。

上一篇博客的链接:https://blog.csdn.net/dghfttgv/article/details/105067007

java的官网信息:https://blog.csdn.net/dghfttgv/article/details/105021181

目录

一、JMX简介

      1 、简介
      2、监控原理


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


1、安装、配置tomcat

  •     在server2上:
  •          步骤一:安装tomcat
  •          步骤二:创建软链接
  •          步骤三:编辑tomcat测试文件
  •          步骤四:向tomcat配置文件中添加JVM的参数使得它可以支持使用端口监控JMX,并开启tomcat
  •          步骤五:在web页面搜索测试文件,测试tomcat是否正常工作

2、配置zabbix-java-gateway

  •     在server1上:
  •          步骤一:安装zabbix-java-gateway
  •          步骤二:开启zabbix-java-gateway服务、查看10052监控端口是否开启
  •          步骤三:编辑zabbix-server的配置文件,添加zabbix-java-gateway的相关信息,并重启服务
  •          步骤四:查看日志信息查看重启动后的文件是否生效

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

  •         步骤一:配置监控项
  •         步骤二:添加JMX监控模板
  •         步骤三:刷新Web界面更新的情况
  •         步骤四:在图形中监控java文件的调用情况

 

一、JMX简介

1 、简介

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-Server ——>Java-Gateway ——> JMX Counter


 Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第1张图片

 

 

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

实验环境

主机名称 主机ip 服务 版本
server1 172.25.6.1 zabbix-server,zabbix-web,mariadb-server,zabbix-agent,zabbix-java-gateway rhel7.5
server2 172.25.6.2 abbix-agent,tomcat rhel7.5

 

1、安装、配置tomcat

步骤一:

在server2上:
下载tomcat和jdlk,解压,作软链接方便更新。

[root@server2 ~]# tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/      ##解压到指定的木下 
[root@server2 ~]# rpm -ivh jdk-8u121-linux-x64.rpm                        ##下载

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第2张图片

 

步骤二:

创建软链接

[root@server2 ~]# cd  /usr/local/                         ##进入/usr/local目录下
[root@server2 local]# ln -s apache-tomcat-8.5.24/ tomcat  ##创建软链接       

 

步骤三:

编辑tomcat测试文件

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第3张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第4张图片

 

步骤四:

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

[root@server2 ~]# cd /usr/local/tomcat/bin/     ##进入到tomcat主配置文件的目录中 
[root@server2 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' 


...

[root@server2 bin]# ./startup.sh                     ##开启tomcat服务

[root@server2 bin]# netstat -antuple | grep 8888     ##查看自定8888端口端口是否开启

[root@server2 bin]# netstat -antuple | grep 8080     ##查看java服务的8080端口是否开启 

[root@server2 bin]# systemctl restart zabbix-agent.service       ##重启zabbix-agent服务

在官网上查看相应的配置文件信息 

  •         步骤一:配置监控项
  •         步骤二:添加JMX监控模板
  •         步骤三:刷新Web界面更新的情况
  •         步骤四:在图形中监控java文件的调用情况

 Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第5张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第6张图片

编辑tomcat主配置文件
Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第7张图片

查看端口信息

 

步骤五:

在web页面搜索测试文件,测试tomcat是否正常工作

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第8张图片

 

2、配置zabbix-java-gateway

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

[root@server1 ~]# yum install zabbix-java-gateway.x86_64  -y   

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第9张图片

 

步骤二:

开启zabbix-java-gateway服务、查看10052监控端口是否开启

[root@server1 ~]# systemctl restart zabbix-java-gateway.service     ##重启
[root@server1 ~]# systemctl enable zabbix-java-gateway.service      ##开机自启 
[root@server1 ~]# netstat -antuple  | grep  10052                   ##查看10052端口是否开启

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第10张图片

 

步骤三:

编辑zabbix-server的配置文件,添加zabbix-java-gateway的相关信息,并重启服务

[root@server1 ~]# vim /etc/zabbix/zabbix_server.conf  ##编辑zabbix-server主配置文件 
...

288 JavaGateway=172.25.6.1                            ##主机名称
289 JavaGatewayPort=10052                             ##监听的端口号
290 StartJavaPollers=5

...

[root@server1 ~]# systemctl restart zabbix-server.service       ##重启服务

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第11张图片

 

步骤四:

查看日志信息查看重启动后的文件是否生效

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第12张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第13张图片

 

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

步骤一:

配置——> 主机——> server2——> 主机——> 添加JMX接口的信息 ——> 添加——>更新

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第14张图片

添加相关的监控信息

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第15张图片

 

步骤二:

添加JMX监控模板

模板—> 选择JMX—> 添加 —> 更新
Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第16张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第17张图片

 

步骤三:

刷新Web界面更新的情况(需要等待几分钟)

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第18张图片

 

查看到的jmx栏已经变蓝说明监控成功

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第19张图片

 

步骤四:

在图形中监控java文件的调用情况

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第20张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第21张图片

Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat_第22张图片

 

你可能感兴趣的:(Zabbix分布式监控(7)—— Zabbix使用JMX监控tomcat)