zabbix日常监控项java(四又分之一,通用性强)

本文介绍如何针对Zabbix监控工具中JMX监控模板的通用性不足问题,创建自定义模板来提高监控效率。文中提供了具体的脚本实现,并分享了模板文件的下载链接。

因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了。。。。

大部分都是参考网上其他博主的文档,在此作为梳理、总结;以方便自己日后使用查询。

chmod +s grep

 

模版位置:

链接:https://pan.baidu.com/s/1r7YrlL-6Z_I3mIYsL1CTQg
提取码:ep7d

 

 

 

脚本内容如下:

#!/bin/bash
#t_datadir=`find /usr/local/ -maxdepth 1 -name "*_apache" -type d`
t_datadir=`find /usr/local/ -maxdepth 1 -name "*_apache" -type d | awk -F '/' '{print $4}'`
local_ip1=`ifconfig em2 |awk -F '[ :]+' 'NR==2 {print $4}'`

#tomcat_no=`find /usr/local/ -maxdepth 1 -name "*_apache" -type d |wc -l`
declare -a AAA=()
declare -a BBB=()
a=0

for i in ${t_datadir}
do
  {
    n_ports=`/bin/grep Dcom.sun.management.jmxremote.port /usr/local/$i/bin/catalina.sh|awk -F "=" '{print $2}'`
    if [ "${n_ports}" ];then
      AAA[a]="$i"
      BBB[a]="${n_ports}"
      let "a=a+1"
    fi
  }
done


declare -i d=${#AAA[@]}
let "d=d-1"

printf '{"data":[\n'
for ((i=0;i<${#AAA[@]};i++))
do
#  echo "----$i----${AAA[$i]}----${BBB[$i]}"
#  if [ $i -eq $d ];then
#    echo '===='
#  fi
  
  if [ $i -eq $d ];then
    printf "\t\t{ \n"
        printf "\t\t\t\"{#SERVER_IP}\":\"${local_ip1}\",\n"
        printf "\t\t\t\"{#JMX_PORT}\":\"${BBB[$i]}\",\n"
        printf "\t\t\t\"{#JAVA_NAME}\":\"${AAA[$i]}\"}]}\n"
  else
    printf "\t\t{ \n"
        printf "\t\t\t\"{#SERVER_IP}\":\"${local_ip1}\",\n"
        printf "\t\t\t\"{#JMX_PORT}\":\"${BBB[$i]}\",\n"
        printf "\t\t\t\"{#JAVA_NAME}\":\"${AAA[$i]}\"},\n"
  fi

done

 

转载于:https://www.cnblogs.com/huangyanqi/p/9138973.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值