Chinaunix首页 | 论坛 | 博客
  • 博客访问: 351679
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-27 14:21
个人简介

知道自己该干嘛,知道自己能干嘛

文章分类

全部博文(52)

文章存档

2019年(1)

2018年(8)

2017年(2)

2016年(11)

2015年(3)

2014年(10)

2013年(17)

我的朋友

分类: 系统运维

2015-04-30 18:17:12

             
              提供zabbix-trapper数据的bash脚本 :

  1. #!/bin/bash
  2. ####Remote Get RM2000 Data####

  1. declare -A INFO
  2. INFO=([FJ-CTC-RM99101]=192.168.99.101 [FJ-CTC-RM99102]=192.168.99.102)
  3. terminal=/opt/geo/RM2000/script/dqsh.out
  4. file=/usr/local/zabbix-proxy/ret/RM2000Data
  5. OPTION=(RM2000[recvhttp] RM2000[recvradius] RM2000[gdracs] RM2000[gdrradius] RM2000[hwport])
  6. UinxTimeStamp=$(date -d "$(date "+%F %H:%M")" +%s)
  7. PostLog="/usr/local/zabbix-proxy/ret/postlog"
  8. timeout=/usr/bin/timeout

  9. server=192.168.9.12

  10. COMMAND() {
  11.              case $2 in
  12.                     "RM2000[recvhttp]")
  13.                         ${timeout} 7 ${terminal} -h ${1} stream.show \
  14.                           |awk 'BEGIN{FS="[ :M)]+"}/recvhttp/{print $(NF-2)*1000*1000}'
  15.                       ;;
  16.                     "RM2000[recvradius]")
  17.                         ${timeout} 7 ${terminal} -h ${1} stream.show \
  18.                           |awk 'BEGIN{FS="[ p]+"}/recvradius/{print $(NF-1)}'
  19.                       ;;
  20.                     "RM2000[gdracs]")
  21.                         ${timeout} 7 ${terminal} -h ${1} gdr.show \
  22.                           |awk 'BEGIN{FS="[ M]+"}/acs/{print $(NF-2)*1000*1000'}
  23.                       ;;
  24.                     "RM2000[gdrradius]")
  25.                         ${timeout} 7 ${terminal} -h ${1} gdr.show \
  26.                           | awk 'BEGIN{FS="[ p]+"}/radius/{print $(NF-1)}'
  27.                       ;;
  28.                     "RM2000[hwport]")
  29.                         ${timeout} 7 ${terminal} -h ${1} hwport.show \
  30.                           | awk '/Total/{print $(NF-1)*1000*1000}'
  31.                       ;;
  32.              esac
  33. }

  1. /bin/rm -fr ${file}

  1. for hosts in FJ-CTC-RM99101 FJ-CTC-RM99102
  2.     do
  3.           for((i=0;i<${#OPTION[@]};i++))
  4.               do
  5.                    Middle=$(COMMAND ${INFO[${hosts}]} ${OPTION[${i}]})
  6.                    ret=${Middle:-0}
  7.                    key=$(echo ${OPTION[${i}]})
  8.                    echo "${hosts}" "${key}" "${UinxTimeStamp}" "${ret}" >> ${file}
  9.           done
  10. done
  1. sleep 2
  1. echo >> ${PostLog}
  2. date "+%F %H:%M" >> ${PostLog}

  1. /usr/local/zabbix-proxy/bin/zabbix_sender -z ${server} -p 10051 -i ${file} -T -vv &>> ${PostLog}

阅读(1340) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~