前言
goldengate資料同步方案靈活高效,可滿足各企業各行業的同步資料需求,但由於其高成本的維護,對專業性要求較高,另外ogg的程序受到源端表結構變更,異常操作,目標資料庫環境等各方面限制,將會造成程序的掛起,這樣會讓同步中斷,所以對goldengate程序的監控尤為重要!下面指令碼能對程序掛起進行實時告警,起到及時處理故障的重大作用,主要是通過簡訊形式對程序異常進行告警。
1在linux下部署goldengate簡訊監控
– 建立簡訊表
– create/recreate primary, unique and foreign key constraints (增加主鍵)create
table dba_ftc.send_msg
(msg_id number(20)
notnull
,ipaddress varchar2(
200)
,createtime date
,content varchar2(
1000
))
–ogg monitor script(ogg監控指令碼,部署在linux的crontab任務下):alter
table dba_ftc.send_msg
addconstraint pk_send_msg primary
key(msg_id)
using
index
;
#/bin/sh
. /home/oracle/.bash_profile
#獲得ogg程序狀態並寫入臨時日誌檔案
#捕獲abend或stopped的ogg程序echo
"info all"
|/ogg/software/ggsci|
tail -n 34|
sed's/^gg.*//'
> /tmp/ogg_monitor.log
#判斷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
2.在windows下部署goldengate簡訊監控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
外層呼叫$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...