单一实例手动部署:https://www.cnblogs.com/huangyanqi/p/8522526.html
主要应对多实例
约定:
zbbix配置文件:
脚本文件:
其他文件:/tmp/
1、下载catalina-jmx-remote.jar
放置到/tmp/目录下:(需墙)
下载地址:http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.52/bin/extras/catalina-jmx-remote.jar
1、第一个脚本
[root@agent scripts]#vim add_service_tomcat.sh #!/bin/bash t_datadir=`find /application/tomcat*/bin/ -name catalina.sh|awk -F "/bin/catalina.sh" '{print $1}'` tomcat_no=`find /application/tomcat*/bin/ -name catalina.sh|awk -F "/bin/catalina.sh" '{print $1}'|wc -l` n_port=12345 local_ip=`ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $3}'` for tomcat in $t_datadir do m_no=`cat -n $tomcat/bin/catalina.sh|grep 'Execute The Requested Command'|awk '{print $1}'` cp $tomcat/bin/catalina.sh $tomcat/bin/catalina.sh_bak ### #cp /tmp/catalina-jmx-remote.jar $tomcat/lib/catalina-jmx-remote.jar sed -i ''$m_no'a export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote"' $tomcat/bin/catalina.sh #插入监控配置 let "m_no=m_no+1" #设置行号 sed -i ''$m_no'a export CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname='$local_ip'"' $tomcat/bin/catalina.sh #插入监控配置 let "m_no=m_no+1" #设置行号 # sed -i ''$m_no'a export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port='$n_port'"' $tomcat/bin/catalina.sh #插入监控配置 # let "m_no=m_no+1" #设置行号 sed -i ''$m_no'a export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"' $tomcat/bin/catalina.sh #插入监控配置 let "m_no=m_no+1" #设置行号 sed -i ''$m_no'a export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"' $tomcat/bin/catalina.sh #插入监控配置 # let "n_port=n_port+1" done #server.mxl #M_mxlfind=`find /application/tomcat*/conf/server.xml -name server.xml | awk -F "/conf/server.xml" '{print $1}'` #Smxl_no=`find /application/tomcat*/conf/server.xml -name server.xml | awk -F "/conf/server.xml" '{print $1}'|wc -l` for Mxl in $t_datadir do S_hc=`cat -n $Mxl/conf/server.xml|grep 'ThreadLocalLeakPreventionListener'|awk '{print $1}'` # let "Smxl_no=Smxl_no+1" cp $Mxl/conf/server.xml $Mxl/conf/server.xml_bak sed -i ''$S_hc'a \\ <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="'$n_port'" rmiServerPortPlatform="'$n_port'"/>' $Mxl/conf/server.xml # let "Smxl_no=Smxl_no+1" let "n_port=n_port+1" done ip=`ifconfig eth0 |awk -F '[ :]+' 'NR==2 {print $3}'`