zabbix是怎么监控tomcat和Java的呢?如下图所示
1、zabbix-Web前端界面,它通过数据库里数据展示。和其它组件不直接关联
2、zabbix-server运行在10051端口,Zabbix-server要知道java应用程序的某项性能的使用时候 ,会启动自身的一个Zabbix-JavaPollers进程去链接zabbix-JavaGateway请求数据,而zabbix-Javagateway收到请求后并使用;
3、Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以StartJavaPollers设置的值要小于等于START_POLLERS设置的值。
4、zabbix-java-gateway工作在10052端口,Zabbix-Javagateway就相当于一个代理,它负责收集客户端tomcat数据。图中的12345端口是在配置tomcat时指定的,可是自定义。
环境C7.6,2台机器(server10.0.0.61、10.0.0.11)
在一个监控系统只有一个zabbix-java-gateway,可以部署在zabbix-sever端也可以部署在其他机器上,需要和zabbix-server网络可达。
Zabbix-Javagateway就相当于一个代理,它负责收集客户端tomcat数据,zabbix-server只要向zabbix-java-gateway取数据添加到数据库即可
在10.0.0.11安装zabbix-java-gateway
rpm-ivh http://192.168.22.56/linux-soft/jdk-8u102-linux-x64.rpm
java -version
wget http://192.168.22.56/Linux-soft/apache-tomcat-8.0.27.tar.gz
ls
mkdir /application
tar xf apache-tomcat-8.0.27.tar.gz -C/application
/application/apache-tomcat-8.0.27/bin/startup.sh //启动服务
浏览器输入10.0.0.7:8080
就可以看汤姆的那只猫了
在zabbix-server服务器上下载zabbix-java-gateway
wgethttps://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-java-gateway-3.0.25-1.el7.x86_64.rpm
yum localinstall zabbix-java-gateway-3.0.25-1.el7.x86_64.rpm -y
vi /etc/zabbix/zabbix_java_gateway.conf
START_POLLERS=2 //起多少个进程(收集器)
vi /etc/zabbix/zabbix_server.conf
Java-Gateway=127.0.0.1 //zabbix-server不知道java-gateway装那里去了,要给它指明,我这里是安装在zabbix-server上
StartJavaPollers=2 //和上面的START_POLLERS一样
关闭tomcat
/application/apache-tomcat-8.0.27/bin/shutdown.sh
vim /application/apache-tomcat-8.0.27/bin/catalina.sh
#... Execute The Requested Command ...//在这行下面插入
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.0.0.11
-Dcom.sun.management.jmxremote.port=12345 //默认是12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
/application/apache-tomcat-8.0.27/bin/startup.sh
lsof -i:12345