【ZABBIX】监控ogg运行状况

##编写如下脚本,添加crontab任务,定时获取ogg进程信息

#!/bin/bash . /home/oracle/.bash_profile cd /cdcdata/ogg_yms glog=`./ggsci >/tmp/gg_zabbix.log<< EOF info all exit view params mgr EOF` cat /tmp/gg_zabbix.log|awk -F"[ ]+|:" '/REPLICAT|EXTRACT/{print $3,$4,$5,$6,$7,$8,$9,$2}'>/tmp/gg_zabbix1.log echo "*************************************************">>/tmp/gg_zabbix1_history.log date>>/tmp/gg_zabbix1_history.log cat /tmp/gg_zabbix1.log>>/tmp/gg_zabbix1_history.log echo "">>/tmp/gg_zabbix1_history.log
##在zabbix 配置文件里,添加如下内容:

  ##UserParameter=ora.ogg.discovery,/usr/local/zabbix-3.4.6/scripts/discovery_ogg.sh
  ##UserParameter=oggcheck[*],/usr/local/zabbix-3.4.6/scripts/chk_gg.sh $1 $2



#!/bin/bash #zabbix discovery oracle ogg ogg=`cat /tmp/gg_zabbix.log | awk '/REPLICAT|EXTRACT/{print $3}'` COUNT=`echo "$ogg" |wc -l` INDEX=0 echo '{"data":[' echo "$ogg" | while read LINE; do echo -n '{"{#OGG_DATA}":"'$LINE'"}' INDEX=`expr $INDEX + 1` if [ $INDEX -lt $COUNT ]; then echo ',' fi done echo ']}'
#/bin/sh
OGG_DATA=$1
OGG_COMMAND=$2
file_name=/tmp/gg_zabbix1.log
case $OGG_COMMAND in         
       lag)grep  "$OGG_DATA" $file_name| awk '{if($2=="unknown"){print 0}else{print $2*60*60+$3*60+$4}}'    
           ;;
       time)grep  "$OGG_DATA" $file_name| awk '{if($(NF-1)=="unknown"){print 0}else{print $(NF-3)*60*60+$(NF-2)*60+$(NF-1)}}'            
           ;;          
       status)grep  "$OGG_DATA" $file_name| awk '{if($NF=="RUNNING"){print 1}else{print 0}}'            
           ;;          
           *)echo "Usage: $0 [OGG_DATA][lag|time]"
esac

 

 

 

 

 

posted on 2020-11-30 11:27  陈林加油!  阅读(68)  评论(0)    收藏  举报

导航