Goldengate實時簡訊告警實現

2021-09-28 21:37:29 字數 4775 閱讀 5991

前言

goldengate資料同步方案靈活高效,可滿足各企業各行業的同步資料需求,但由於其高成本的維護,對專業性要求較高,另外ogg的程序受到源端表結構變更,異常操作,目標資料庫環境等各方面限制,將會造成程序的掛起,這樣會讓同步中斷,所以對goldengate程序的監控尤為重要!下面指令碼能對程序掛起進行實時告警,起到及時處理故障的重大作用,主要是通過簡訊形式對程序異常進行告警。

1在linux下部署goldengate簡訊監控

– 建立簡訊表

create

table dba_ftc.send_msg

(msg_id number(20)

notnull

,ipaddress varchar2(

200)

,createtime date

,content varchar2(

1000

))

– create/recreate primary, unique and foreign key constraints (增加主鍵)

alter

table dba_ftc.send_msg

addconstraint pk_send_msg primary

key(msg_id)

using

index

;

–ogg monitor script(ogg監控指令碼,部署在linux的crontab任務下):

#/bin/sh

. /home/oracle/.bash_profile

#獲得ogg程序狀態並寫入臨時日誌檔案

echo

"info all"

|/ogg/software/ggsci|

tail -n 34|

sed's/^gg.*//'

> /tmp/ogg_monitor.log

#捕獲abend或stopped的ogg程序

ogg_monitor=

`egrep

'abend|stopped' /tmp/ogg_monitor.log`

if[!$ogg_monitor];

then

echo

"is null"

else

eofinsert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'18988968178','$',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13729826939','$',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13926108245','$',10,sysdate from dual ;

commit;

exit

eoffi

#判斷ogg延時情況

lag_value=30

time_value=30

while

read line

doecho

$line

lag_time=

`echo $line |

awk''

|awk -f':'''`

time=

`echo $line |

awk''

|awk -f':'''`

if[[

$lag_time -gt $lag_value]]

||[[$time -gt $time_value]]

;then

eofinsert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'18988968178','$',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13729826939','$',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13926108245','$',10,sysdate from dual ;

commit;

exit

eoffi

done

2.在windows下部署goldengate簡訊監控

$ogg_info

="info all"

|d:\ogg\software\ggsci

$ogg_monitor

=echo $ogg_info

[-34..-1]

|select-string -pattern "^(manager|replicat).*(abend|stopped).*\s*$"

#$ogg_monitor=echo $ogg_info[-34..-1]|select-string -pattern "^(manager|replicat).*"

if(!

$ogg_monitor

) else',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13729826939','$',10,sysdate from dual ;

insert into mbs7_msg.msg_sendsms(ssid,stid,templetcode,versioncode,cuscode,mobile,content,priorindex,createtime)

select mbs7_msg.seq_msg_sendsms.nextval,0,'alarmsms',0,0,'13926108245','$',10,sysdate from dual ;

commit;

exit

"echo

$message

|d:\u01\product\11.2.0\dbhome_1\bin\sqlplus.exe sms_link/******@erptar3

}$ogg_info

="info all"

|d:\ogg\software\ggsci

$ogg_monitor

=echo $ogg_info

[-34..-1]

|select-string -pattern "^(manager|replicat).*(abend|stopped).*\s*$"

#$ogg_monitor=echo $ogg_info[-34..-1]|select-string -pattern "^(manager|replicat).*"

if(!

$ogg_monitor

) else',10,sysdate from mbs7_msg.msg_dbamonitor m;

commit;

exit

"echo

$message

|d:\u01\product\11.2.0\dbhome_1\bin\sqlplus.exe sms_link/*******@erptar3

}

外層呼叫

powershell d:\ogg\software\ogg_monitor.ps1
最後通過crontab或windows的排程任務呼叫即可,每15或30分鐘執行一次,如部署過程有疑問,可隨時與作者聯絡!

Qt編寫氣體安全管理系統13 簡訊告警

簡訊告警這個模組在很多專案中都用上了,比如之前做過的安防系統,溫濕度報警系統等,主要的流程就是收到資料判斷屬於某種報警後,組織簡訊字串內容,傳送到指定的多個手機號碼上面,使用的是簡訊貓硬體裝置,其實就是個簡訊模組,沒有使用網路的傳送簡訊的api,畢竟大部分的軟體應用場景都不能要求連通外網,安全考慮,...

告警通知平台的郵件簡訊介面實現思路以及資料統計

簡訊的方法是很不錯,但是簡訊是要錢,當然有朋友說飛信可以呀?我只能說 呵呵 其實大家心裡也明白最靠譜的肯定是簡訊啦,但是簡訊的 確實不便宜,對於中小公司的話,還是捨不得花那些錢的 1000 49999 0.06元 條 50000 99999 0.05元 條 100000 0.04元 條 大半夜了,想...

c 的飛信fetion簡訊API介面使用例項

來自 您的移動飛信登入手機號 password 您的移動飛信登入密碼 sendto 接收簡訊的飛信好友手機號 也可以是你自己的手機號 message 簡訊內容 注 簡訊內容最大長度為180個漢字,超過180個漢字不傳送。返回的資訊為utf 8編碼的中文文字資訊。您的移動飛信登入手機號 passwor...