zabbix监控jvm原理
zabbix-server 用C语言开发的,不能直接监控java服务
监控java服务则需要安装一个插件zabbix-java-gateway
监控流程:zabbix-server =》zabbix-java-gateway=》java
在zabbix-server上安装zabbix-java-gateway即可(java-gateway可以是独立安装)。
安装tomcat
安装jdk插件
powershell
rpm -ivh jdk-8u321-linux-x64.rpm
安装tomcat,上传安装包,解压,启动即可。
powershell
mkdir /app
tar xf apache-tomcat-8.0.27.tar.gz -C /app
/app/apache-tomcat-8.0.27/bin/startup.sh
浏览器访问192.168.111.13:8080
在zabbix-server机器下载安装zabbix-java-gateway
清华源下载链接即可
powershell
https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-java-gateway-3.0.32-1.el7.x86_64.rpm
yum localinstall zabbix-java-gateway-3.0.32-1.el7.x86_64.rpm -y
修改zabbix_java_gateway.conf配置文件里面启动采集器的进程,我这里设置2(注意要和zabbix-server配置文件保持一致)
powershell
vim /etc/zabbix/zabbix_java_gateway.conf
重启zabbix_java_gateway服务
powershell
systemctl restart zabbix-java-gateway.service
systemctl enable zabbix-java-gateway.service
修改server配置文件两个参数,1是javagateway安装在哪个机器的IP地址。2配置采集进程与上面的保持一致。
vim /etc/zabbix/zabbix_server.conf
重启zabbix_server服务
powershell
systemctl restart zabbix-server.service
tomcat开启jmx监控
关闭tomcat
powershell
/app/apache-tomcat-8.0.27/bin/shutdown.sh
进入Tomcat/bin目录,修改catalina.sh,找到如下内容"#-----Execute The Requested Command",在其上添加以下配置,此配置不需要用户名、密码
powershell
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.111.13
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
#解释:
#ip是你要监控的tomcat所在服务器的ip地址
#端口号,是你要开启的监控端口号。
#ssl,false表示不使用ssl链接
#authenticate,false表示不使用监控,即不需要用户名和密码
修改配置文件添加信息,/app/apache-tomcat-8.0.27/bin/catalina.sh
启动tomcat
powershell
/app/apache-tomcat-8.0.27/bin/startup.sh
查看状态
zabbix-server界面创建监控主机
给监控主机添加模板,添加即可
在(zabbix-server)安装java-gateway的机器命令行测试检测tomcat
注意:需要下载jmxcmd.jar包
powershell
java -jar jmxcmd.jar - 192.168.111.13:12345 java.lang:type=Memory NonHeapMemoryUsage
测试取值成功