您的位置:首页 > 运维架构 > Tomcat

zabbix之通过jmx监控tomcat

2018-02-26 17:09 477 查看

zabbix之通过jmx监控tomcat

转载fireweb2015-11-06 13:57:24评论(0)277人阅读

zabbix
监控
tomcat

1.编译zabbix的时候需要添加参数
--enable-java
关于如何安装
zabbix
,可以参考上一篇文章http://blog.unix178.com/备份
zabbix_server.conf
zabbix_agentd.conf
文件,重新编译安装
zabbix
[root@nginx zabbix-2.2.0]# ./configure --enable-server --enable-agent     --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2 --enable-java2.zabbix_server端安装jdk安装
jdk
[root@nginx tmp]# tar xf jdk-7u9-linux-x64.tar.gz -C /usr/local/
[root@nginx tmp]# ls /usr/local/jdk1.7.0_09/
bin        jre      README.html                         THIRDPARTYLICENSEREADME.txt
COPYRIGHT  lib      release
db         LICENSE  src.zip
include    man      THIRDPARTYLICENSEREADME-JAVAFX.txt3.修改zabbix_java相关选项然后进入到下面的目录下面进行
seeting.sh
脚本编辑[root@nginx zabbix-2.2.0]# find / -name zabbix_java
/usr/local/sbin/zabbix_java
/tmp/zabbix-2.2.0/src/zabbix_java
[root@nginx zabbix-2.2.0]# 
[root@nginx zabbix-2.2.0]# ls
bin  lib  settings.sh  shutdown.sh  startup.sh该文件默认全部注释的,启用下面几项即可[root@nginx zabbix_java]# vim settings.sh 
[root@nginx zabbix_java]# sed -e '/^#/d;/^$/d' settings.sh
 LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
4000
[root@nginx zabbix_java]#4.修改zabbix_server文件启用其中的几项[root@nginx zabbix_java]# sed -e '/^#/d;/^$/d' /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
[root@nginx zabbix_java]# vim /usr/local/etc/zabbix_server.conf
[root@nginx zabbix_java]# sed -e '/^#/d;/^$/d' /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=55.启动zabbix_java找到
zabbix_java
目录路径,然后执行命令
./startup.sh
[root@nginx zabbix-2.2.0]# find / -name zabbix_java
/usr/local/sbin/zabbix_java
/tmp/zabbix-2.2.0/src/zabbix_java
[root@nginx zabbix-2.2.0]# 
[root@nginx zabbix-2.2.0]# ls
bin  lib  settings.sh  shutdown.sh  startup.sh
[root@nginx zabbix-2.2.0]# ss -tunlp | grep 10052
tcp    LISTEN     0      50                    :::10052                    :::*      users:(("java",16405,12))6.调整
tomcat
端,安装
catalina-jmx-remote.jar
下载来安装:root@tomcat5 tmp]# wget  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/extras/catalina-jmx-remote.jar将下载好的文件存放到
tomcat
子目录目录
lib
录下[root@tomcat5 tmp]# mv catalina-jmx-remote.jar /usr/local/tomcat/lib/
[root@tomcat5 tmp]#7.修改
catalina.sh
文件修改catalina.sh文件,添加CATALINA_OPTS="-Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=172.17.8.24"8.重启启动
tomcat
服务和
zabbix_agentd
服务  echo "172.17.8.24 Tomcat008024" >>/etc/rc.local    #tomcat会解析hostname,否则tomcat启动失败9.服务器端测试是否能正常获取信息[root@nginx zabbix-2.2.0]# java -jar /root/cmdline-jmxclient-0.10.3.jar  - 192.168.146.130:9999 java.lang:type=Memory NonHeapMemoryUsage
05/24/2014 15:42:02 +0800 org.archive.jmx.Client NonHeapMemoryUsage: 
committed: 47316992
init: 24313856
max: 136314880
used: 4701278410.服务器端自定义监控项添加jmx监控端口自定义监控项查看绘图结果直接上图,自己看吧添加jmx监控端口

自定义监控项

查看绘图结果


如果你的tomcat端没有打开iptables或者允许全部端口,按照如上方式没问题。-A INPUT -m state --state NEW -m tcp -p tcp --dport 12345:65535 -j ACCEPT如果开启了防火墙,按照以上办法只允许12345没有作用,tomcat分为数据端口和连接端口,数据端口是动态的。所以按照以下操作:http://tomcat.apache.org/download-70.cgicd /usr/local/tomcat/bin  [按照tomcat版本选择jar]wget http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.65/bin/extras/catalina-jmx-remote.jarchown tomcat:tomcat catalina-jmx-remote.jar 

修改Tomcat安装目录
ad2a
conf子目录下的server.xml配置文件:

省略...<Server port="8005" shutdown="SHUTDOWN">  <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"          rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346" />

修改Tomcat安装目录bin子目录下的之前的脚本文件setenv.sh:

CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=172.17.8.24"CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"#CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=12345"#端口配置不用了CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"

修改/etc/sysconfig/iptables 防火墙策略:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 12346 -j ACCEPT

service iptables restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix