Zabbix实现对Tomcat监控

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hannah_zh/article/details/83868147

一、zabbix部署jmx监控tomcat

zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

Zabbix gateway 是用Java语言写成。要查得一台主机特定的JMX计数器值,Zabbix server向Zabbix Java gateway发送请求,后者使用JMX管理API 去请求远程的有关应用。应用不需要额外安装软件,只需要启动时在命令行指定-Dcom.sun.management.jmxremote 即可。

Java gateway接受来自Zabbix Server或Agent的传入连接,且只能用作“被动proxy”。 与Zabbix proxy相反,它也可以从Zabbix agent调用(Zabbix agent不能被链接)。 每个Java gateway的访问都直接在Zabbix sever或 proxy配置文件中配置,因此每个Zabbix sever或Zabbix agent只能配置一个Java gateway。 如果一台主机具 JMX agent 类型的监控项和和其他类型的监控项,则只将JMX agent监控项传递到Java gateway进行检索。

当在Java gateway上的一个监控项值更新了,Zabbix server或agent将连接Java gateway请求查询该值,Java gateway会依次retrieves并传回到server或proxy。 同样的,Java gateway不会缓存任何值.

Zabbix sever或proxy具有连接到Java gateway特定类型的进程,由 START_POLLERS 选项控制。 在内部,Java gateway启动多个由该选项控制的线程。 在sever端,如果连接超过 Timeout 秒,则将终止,但Java gateway可能仍忙于从JMX计数器检索值。 为了解决这个问题,由于Zabbix 2.0.15,Zabbix 2.2.10和Zabbix 2.4.5在Java gateway中有TIMEOUT选项,允许为JMX网络操作设置超时。

Zabbix server或agent将尽可能地将请求集中到一个JMX目标(受监控项间隔影响),并将它们发送到单一连接中的Java gateway,以获得更好的性能。 建议 StartJavaPollers 小于或等于 START_POLLERS ,否则可能导致当连接Java gateway时而Java gateway没有多余的线程进行处理。

二、具体部署

参考链接:https://www.zabbix.com/documentation/3.4/zh/manual/concepts/java

zabbix agent端:

1、下载、安装JDK

[root@server12 ~]# rpm -ivh jdk-8u121-linux-x64.rpm 
[root@server12 ~]# java -version          ##查看JDK版本
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

2、配置tomcat、JMX

[root@server12 ~]# tar zxf apache-tomcat-7.0.90.tar.gz -C /usr/local/
[root@server12 ~]# cd /usr/local/
[root@server12 local]# ln -s apache-tomcat-7.0.90/ tomcat
[root@server12 local]# cd tomcat/bin/
[root@server12 bin]# vim catalina.sh   ##配置tomcat远程端口、加密
107  CATALINA_OPTS='-Dcom.sun.management.jmxremote
108    -Dcom.sun.management.jmxremote.port=8888
109    -Dcom.sun.management.jmxremote.ssl=false
110    -Dcom.sun.management.jmxremote.authenticate=false'
[root@server12 bin]# ./startup.sh 
  • 查看端口
    在这里插入图片描述
  • 测试:访问http://172.25.51.12:8080
    在这里插入图片描述

zabbix server:

1、下载、安装java-gateway

[root@server11 ~]# yum install -y zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm

2、配置java-gateway

[root@server11 ~]# vim /etc/zabbix/zabbix_server.conf 
262  JavaGateway=172.25.51.11  #指定java gateway的地址
270  JavaGatewayPort=10052  #指定java gateway的服务器监听端口, 如果是默认端口可以不写
278  StartJavaPollers=5  #启动多少个进程去轮训 java gateway, 要和java gateway的配置一致
[root@server11 ~]# systemctl start zabbix-java-gateway
[root@server11 ~]# systemctl restart zabbix-server
  • 查看端口
    在这里插入图片描述

网页端配置java-gateway:

1、添加Java-gateway接口

在这里插入图片描述

2、关联一个tomcat模板

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

猜你喜欢

转载自blog.csdn.net/Hannah_zh/article/details/83868147