gxh1968 发表于 2018-11-29 11:54:10

zabbix 监控tomcat的性能

  zabbix 服务端配置
  1 安装 Java gateway
  找到zabbix 安装的目录,看你的目录下是否有zabbix_java这个目录,如果没有说明你zabbix编译的时候没有加--enable-java
  ls /usr/local/zabbix/sbin/zabbix_java//查看编译--enable-java,编译成功会有以下5个文件
binlibsettings.shshutdown.shstartup.sh


# pwd
/usr/local/zabbix/sbin/zabbix_java
  2 配置Java gateway
# grep ^[^#] settings.sh//修改zabbix_java参数如下
9 LISTEN_IP="0.0.0.0"
17 LISTEN_PORT=10052
27 PID_FILE="/tmp/zabbix_java.pid"
35 START_POLLERS=5## 开启的工作线程数(必须大于等于后面zabbix_server.conf文件的StartJavaPollers参数)  

vim /usr/local/zabbix/etc/zabbix_server.conf//修改zabbix_server配置文件
30 LogFile=/tmp/zabbix_server.log
78 DBName=zabbix
94 DBUser=zabbix
102 DBPassword=xxxxxx
109 DBSocket=/tmp/mysql.sock
198 JavaGateway=127.0.0.1
206 JavaGatewayPort=10052
214 StartJavaPollers=5  

注意:这个参数StartJavaPollers=5一定要小于settings.sh里面的START_POLLERS=5 这个,否则你的jmx一直是灰色的(以前做的时候没有注意这个,今天在做浪费了我一天的时间!)  

  

重启zabbix_server
service zabbix_server restart


3 启动zabbix_java_Gateway   //zabbix_java_Gateway侦听10052端口
sh /usr/local/zabbix/sbin/zabbix_java/startup.sh


# netstat -antlp|grep 10052

  tcp      0      0 :::10052                  :::*                        LISTEN      27929/java
  

  
  zabbix客户端(tomcat)配置
  首先安装tomcat 并且启动成功启动脚本在/bin/start.sh
  下载 这个软件 wget http://archive.apache.org/dist/t ... lina-jmx-remote.jar//下载tomcat对应的jmx版本放到$tomcat/lib/
  vim /usr/local/tomcat/bin/catalina.sh
  更改两个配置文件
  在/bin/bash下面添加这行
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=客户端IP(tomcat的ip)"  

  

  在该文件末尾添加一行:如下
vim /usr/local/tomcat/conf/server.xml
##(这个端口可以自定义,默认zabbix监听的端口是12345)
      
   

  

  

  其中的8090就是zabbix server端监控tomcat需要使用的端口。然后
  重启tomcat和zabbix_agentd   tomcat 启动和关闭可以在/bin目录下找到,start.sh 和shutdown.sh开启和关闭
  
  启动完成之后通过ps命令和netstat命令查看是否正常的侦听了相应的端口,zabbix_agentd默认侦听10050端口,tomcat默认侦听8080端口,8090端口是开给jmx使用的,应该也是开启的,效果如下:
# netstat -antlp|grep LISTEN      
tcp      0      0 0.0.0.0:10050         0.0.0.0:*               LISTEN      19592/./sbin/zabbix
tcp      0      0 0.0.0.0:22            0.0.0.0:*               LISTEN      836/sshd            
tcp6       0      0 ::1:25                  :::*                  LISTEN      1503/master         
tcp6       0      0 :::8090               :::*                  LISTEN      21026/java         
tcp6       0      0 127.0.0.1:8005          :::*                  LISTEN      21026/java         
tcp6       0      0 :::8009               :::*                  LISTEN      21026/java         
tcp6       0      0 :::8080               :::*                  LISTEN      21026/java         
tcp6       0      0 :::40438                :::*                  LISTEN      21026/java         
tcp6  服务端操作:
  这时候可以在zabbix_server端尝试获取tomcat的相关数据了。这时候需要使用到一个工具cmdline-jmxclient-0.10.3.jar(需要下载,然后放在服务端上面)用下面的这个命令,在zabix-server端执行如下命令:
java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.234.128:8090 java.lang:type=Memory NonHeapMemoryUsage
12/19/2015 03:17:04 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 25296896
init: 2555904
max: -1
used: 24194184  出现这个代表zabbix 已经获取到了相应的tomcat数据,剩下的配置在web页面配置了。
  
web端操作
  倒入模板,添加主机,确认出图
  1 添加主机
http://s4.运维网.com/wyfs02/M00/80/F2/wKiom1dFRRrQ5_cbAACdgTGOPCU954.png
  
确认出图,其实有很多项,我只列出了一个
http://s4.运维网.com/wyfs02/M01/80/F1/wKioL1dFRqaTyOemAAEUgwxYuiM098.png
  说明:上传的附件发现无法解压,所以我就上传到了运维网下载中心http://down.运维网.com/data/2238034



页: [1]
查看完整版本: zabbix 监控tomcat的性能