1.环境
root@ubuntu:~/zabbix-4.0.35# cat /etc/issue
Ubuntu 18.04.3 LTS \n \l
2.tomcat安装
参考:https://blog.51cto.com/taowenwu/5212002
2.2.tomcat开启jmx监控
/data/apache-tomcat-8.5.39/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote #启用远程监控JMX
-Dcom.sun.management.jmxremote.port=12345 #默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
-Dcom.sun.management.jmxremote.authenticate=false #不使用用户名密码
-Dcom.sun.management.jmxremote.ssl=false #不使用ssl认证
-Djava.rmi.server.hostname=192.168.47.52" #tomcat主机自己的IP地址,不要写zabbix server的地址
/data/tomcat/bin/catalina.sh stop
/data/tomcat/bin/catalina.sh start
2.3.测试
3.zabbix-agent配置
参考:https://blog.51cto.com/taowenwu/4857440
ZBX 变绿,主要是模板Template App Zabbix Agent中监控项,Agent ping得返回值,1是正常,其他不正常
4.zabbix-server
编译安装参考:https://blog.51cto.com/taowenwu/4850174
4.1.zabbix-java-gateway与zabbix server在同主机上
zabbix使用jmx监控tomcat;编译zabbix server时需要提供java支持,即添加--enable-java
如果编译添加--enable-java,这相当于在编译zabbix的时候,就直接安装了zabbix-java-gateway
ls /usr/local/zabbix/sbin/zabbix_java/
4.1.1.修改配置文件
/usr/local/zabbix/sbin/zabbix_java/settings.sh
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid" #可修改
START_POLLERS=10 #启动多少个进程轮询java,要和java 应用保持一定关系
TIMEOUT=30 #等待网络访问值
4.1.2.启动/关闭
/usr/local/zabbix/sbin/zabbix_java/startup.sh
/usr/local/zabbix/sbin/zabbix_java/shutdown.sh
4.1.3.编辑zabbix_server.conf
/usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=192.168.47.50 #java-gateway地址
JavaGatewayPort=10052
StartJavaPollers=20
systemctl restart zabbix-server
4.2.zabbix-java-gateway与zabbix server在不同主机上
4.2.1.zabbix-java-gateway安装
apt-get install zabbix-java-gateway
vim /etc/zabbix/zabbix_java_gateway.conf
-----------------------------------------------------
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java_gateway.pid" #可修改
START_POLLERS=10 #启动多少个进程轮询java,要和java 应用保持一定关系
TIMEOUT=30 #等待网络访问值
-----------------------------------------------------
systemctl restart zabbix-java-gateway
systemctl enable zabbix-java-gateway
4.2.2.编辑zabbix_server.conf
/usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=192.168.47.51 #java-gateway地址
JavaGatewayPort=10052
StartJavaPollers=20
systemctl restart zabbix-server
疑问:按照以上配置,改了JavaGateway的ip地址,JMX提示如下:
但是,我把JavaGateway地址配置成zabbix server主机上ip,又不报错,---这就有点懵逼了
疑问:javagateway是怎么去找tomcat的
5.web界面添加主机
注意:
下面添加的主机名称是:zabbix-agent主机配置文件中的hostname的值
jmx接口:是zabbix-agent所在主机ip;端口为:jmx监听端口
6.监控java排错方法
包下载:http://crawler.archive.org/cmdline-jmxclient/downloads.html
获取活动线程的当前数目,包括守护线程和非守护线程。
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.47.52:12345 java.lang:type=Threading ThreadCount
获取自从 Java 虚拟机启动以来创建和启动的线程总数目。
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.47.52:12345 java.lang:type=Threading TotalStartedThreadCount
获取Java 虚拟机启动或峰值重置以来峰值活动线程计数。
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.47.52:12345 java.lang:type=Threading PeakThreadCount
获取守护线程总数。
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.47.52:12345 java.lang:type=Threading DaemonThreadCount