zabbix监控tomcat脚本

#!/bin/bash
#-------------------------------------------------------------------------------
# Functions: zabbix active monitor
version_num=20181110
#-------------------------------------------------------------------------------
# ChangeLog:
# 2018-11-10    jiangyin    initial create
#-------------------------------------------------------------------------------
# Set -x # for debug
################################################################################
# Set Variable
################################################################################
TOMCAT_PORT=$1
TOMCAT_NAME=tomcat-$TOMCAT_PORT
#MONITOR_ITEM=$2
TOMCAT_HOME="/data/tomcats"
JSTACK=$(which jstack)
TOMCAT_PID=`/usr/bin/ps -ef | grep "${TOMCAT_PORT}" | grep "[o]rg.apache.catalina.startup.Bootstrap start" | grep -v grep | awk '{print $2}'`
YEAR=`date +%Y`
DATE=`date +%Y-%m-%d`
TIME=`date +%H:%M`
TIME2=`date +%H:%M -d'-10min'`

###Main script start ###########################################################

#if [ ! -f $JSTACK ]; then
#  echo "no exists $JSTACK"
#  exit 0
#fi


if [ ! -h $JSTACK ]; then
    ln -s /usr/java/jdk1.7.0_80/bin/jstack /usr/local/sbin/jstack
fi


tomcat_connect() {
  netstat -na | grep $TOMCAT_PORT | grep ESTABLISHED | wc -l
}

tomcat_thread() {
# ps -Lf $TOMCAT_PID |wc -l
#/usr/bin/sudo $JSTACK -l $TOMCAT_PID | grep "java.lang.Thread.State" | wc -l
/usr/bin/sudo $JSTACK  -l $TOMCAT_PID |  grep http | grep -v grep | wc -l
}

tomcat_version() {
  $TOMCAT_HOME/$TOMCAT_NAME/bin/version.sh | grep "Server version" | awk {'print $4'}|awk -F'/' '{print $2}'|sed 's/\.//g'
}

tomcat_longtime() {
  LOG=$TOMCAT_HOME/$TOMCAT_NAME/logs
  num=`sed -n "/$YEAR:$TIME2:/,/$YEAR:$TIME:/p" $LOG/localhost_access_log.$DATE.txt |  awk {'if($NF>=10)'print} | wc -l`
  echo "$num"
}

#MAIN FUNCTION
case "$2" in
  connect)
  tomcat_connect
  ;;
  thread)
  tomcat_thread
  ;;
  version)
  tomcat_version
    ;;
  longtime)                                                                                                                                                                                                            
  tomcat_longtime                                                                                                                                                                                                      
  ;;                                                                                                                                                                                                                   
  *)                                                                                                                                                                                                                   
  echo "$ERROR_WRONG_PROTOCOL" && exit 1                                                                                                                                                                               
  ;;                                                                                                                                                                                                                   
esac   

在userparameter_mysql.conf里添加以一行
UserParameter=tomcat.check[*], /etc/zabbix/scripts/tomcat-active.sh $1 $2

然后在zabbix上新建一个模版,添加监控
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值