Zabbix监控通过jvm插件监控Tomcat
ZABBIX-JAVA-GATEWAY
根据官方文档描述Zabbix在1.8以前是不支持监控Java,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦。为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序,zabbix 2.0以后添加了服务进程zabbix-java-gateway。
Java有了JMX,全称是Java Management Extensions,即Java管理扩展。
工作原理
当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序。
而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据
部署 ZABBIX-JAVA-GATEWAY,由于所用版本为3.4.12,该版本自带ZABBIX-JAVA-GATEWAY插件,所以我们忽略安装部分。直接进入配置阶段
修改/usr/local/zabbix-3.4.12/sbin/zabbix_java/settings.sh配置文件,将以下参数去掉注释即可
LISTEN_IP="0.0.0.0" LISTEN_PORT=10052 START_POLLERS=5 TIMEOUT=3
开启zabbix-java-gateway
/usr/local/zabbix-3.4.12/sbin/zabbix_java/startup.sh
修改/usr/local/zabbix-3.4.12/etc/zabbix_server.conf配置文件
# JavaGateway的服务器IP地址 JavaGateway=192.168.89.204 (zabbix_server服务器的ip地址) # JavaGateway的服务端口
JavaGatewayPort=10052 # 从javaGateway采集数据的进程数 StartJavaPollers=5
#重启zabbix_server
/etc/init.d/zabbix_server restar
给tomcat启动脚本添加参数,开启JMX。修改tomcat/bin/下的catalina.bat,添加如下内容:
set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=Tomcat所在地IP地址
下载Tomcat版本相应的插件,将插件放入Tomcat实例lib文件夹下,然后重启Tomcat
http://archive.apache.org/dist/tomcat/ #相应版本对应地址 http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.1/bin/extras/catalina-jmx-remote.jar
Web端配置如下所示
添加主机
选择模板,也可以自定义模板。网上有资源
添加完成
分类:
监控系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?