文章目录
zabbix 监控tomcat
ip | service |
---|---|
192.168.1.101 | zabbix_server 、zabbix_fronted、javagateway |
192.168.1.105 | tomcat |
1. 配置jdk
root@z5:/usr/local/src# ll -h
total 183M
drwxr-xr-x 3 root root 4.0K Apr 6 12:47 ./
drwxr-xr-x 10 root root 4.0K Apr 6 12:49 ../
drwxr-xr-x 7 uucp 143 4.0K Oct 6 2018 jdk1.8.0_191/
root@z5:/usr/local/src# tar xvf jdk-8u191-linux-x64.tar.gz
root@z5:~# ln -sv /usr/local/src/jdk1.8.0_191/ /usr/local/jdk
'/usr/local/jdk' -> '/usr/local/src/jdk1.8.0_191/'
root@z5:~# vim /etc/profile
export JAVA_HOME=/usr/local/jdk
export TOMCAT_HOME=/apps/tomcat
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
root@z5:~# source /etc/profile
验证
root@z5:~# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
2. 配置tomact
root@z5:~# vim /apps/tomcat/bin/catalina.sh
# -----------------------------------------------------------------------------
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.1.105"
# OS specific support. $var _must_ be set to either true or false.
root@z5:~# mkdir /apps/tomcat/webapps/linux37
root@z5:~# echo "linux37__index" > /apps/tomcat/webapps/linux37/index.html
启动tomcat
root@z5:~# /apps/tomcat/bin/catalina.sh start
验证
root@z5:~# ss -ntl |grep 12345
LISTEN 0 50 *:12345 :
3.使用windows的jconsle,验证是否可以抓取jmx数据
首先,windows 已经安装jdk
打开jconsole
如果可以看到内存、线程有变化的曲线即可
4.配置 javagateway
root@z1:/apps/zabbix_server/sbin/zabbix_java# ls
bin lib settings.sh shutdown.sh startup.sh
root@z1:/apps/zabbix_server/sbin/zabbix_java# vim settings.sh
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=10 (启动多少个进程采集数据,服务的性能好,网络好,就设高些)
TIMEOUT=30 (收集一个监控项时,等待的最大延时时间,设长些,避免以后的影响)
启动javagateway
root@z1:/# /apps/zabbix_server/sbin/zabbix_java/startup.sh
5.配置zabbix_server
root@z1:/# vim /apps/zabbix_server/etc/zabbix_server.conf
JavaGateway=192.168.1.101
JavaGatewayPort=10052
StartJavaPollers=20
重启zabbix_server
6.在zabbix web界面 ,为主机添加jmx 接口
并且为主机配置默认的jmx 模板
如果可以看到jmx 变绿即可
7.监控java排错方法
测试能否获取到java 当前已经分配的 线程数
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.105:12345 'Catalina:name="http-nio-8080",type=ThreadPool' currentThreadCount
04/06/2020 15:22:54 +0800 org.archive.jmx.Client currentThreadCount: 10
java -jar cmdline-jmxclient-0.10.3.jar - 192.168.1.105:12345 'Catalina:name="http-nio-8080",type=ThreadPool' maxThreads
04/06/2020 15:24:22 +0800 org.archive.jmx.Client maxThreads: 200