zabbix 使用spool監控oracle鎖表

說明 由於spool直接執行sql v$locked_object lo, dba_objects ao, v$session ,無法識別$符號,使用斜槓轉義也是無效,所以sqlplus bol/bol @/opt/bolck_table.sh執行 沒有問題

執行腳本
#[root@rac2 opt]# cat /opt/bolck_table_oracle.sh
#!/bin/bash
sqlplus bol/bol @/opt/bolck_table.sh

#sql語句腳本,將結果輸入到/tmp/block_table.txt
[root@rac2 opt]# cat /opt/bolck_table.sh
spool /tmp/block_table.txt
select count(sess.sid) from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid;
spool off
exit;

#zabbix key,獲取 /tmp/block_table.txt裏面的標識
[root@rac2 opt]# cat /etc/zabbix/zabbix_agentd.d/oracle_moniter.conf
UserParameter=oracle.gps_count,cat /tmp/GPS.txt |sed -n '5p'
UserParameter=oracle.block_table_count,cat /tmp/block_table.txt |sed -n '4p'
UserParameter=oracle.listenport,netstat -anltp|grep LISTEN|grep 1521|wc -l
UserParameter=oracle.process,ps -ef|grep BOL|wc -l
UserParameter=oracle.asm.process,ps -ef|grep asm|wc -l
UserParameter=oracle.status_online.process,/u01/app/11.2.0/grid/bin/crs_stat -t -v|grep 'ONLINE'|wc -l
UserParameter=oracle.status_offline.process,/u01/app/11.2.0/grid/bin/crs_stat -t -v|grep 'OFFLINE'|wc -l

#每10分鐘執行一次
[root@rac2 opt]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
/10 * root su - oracle -s /bin/bash /opt/bolck_table_oracle.sh
在zabbix裏面添加iterm,添加triggers即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章