您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Zabbix中怎么監(jiān)控Oracle數(shù)據(jù)庫(kù)表空間,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
Oracle表空間監(jiān)控
核心數(shù)據(jù)庫(kù)10.100.0.20和21表空間已經(jīng)修改完成,可以正常監(jiān)控使用率和大小,并郵件告警通知。
修改Oracle數(shù)據(jù)庫(kù)表空間監(jiān)控
創(chuàng)建表空間信息收集腳本:
vim /home/oracle/scripts/check_tablespace.sh
腳本內(nèi)容如下:
#!/bin/bash # tablespace usagep check source ~/.bash_profile function check { sqlplus -S "/ as sysdba" << EOF set numwidth 20 set linesize 200 set pagesize 200 spool /tmp/ora_tablespace.txt select aa.tablespace_name, round(bb.maxs, 2) "MAX(G)", round(aa.usd, 2) "USED(G)", round((bb.maxs - aa.usd) , 2) "FREE(G)", round(aa.usd / bb.maxs * 100, 2) "USED%" from (Select b.Tablespace_Name, (b.Bytes - Nvl(a.Bytes, 0)) "USD" From (select tablespace_name, sum(bytes) bytes from Dba_Free_Space group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes from Dba_Data_Files group by tablespace_name) b Where b.tablespace_name = a.tablespace_name(+) -- and b.tablespace_name='MAXIMO_DATA' ) aa, (select tablespace_name, sum(case when maxbytes = 0 then user_bytes else maxbytes end) "MAXS" from dba_data_files -- where tablespace_name='MAXIMO_DATA' group by tablespace_name order by tablespace_name) bb where aa.tablespace_name = bb.tablespace_name and aa.tablespace_name not like '%UNDO%' order by 5 desc, 1; spool off set linesize 100 set pagesize 100 spool /tmp/ora_autex.txt select tablespace_name,autoextensible from dba_data_files; spool off quit EOF };check &>/dev/null
賦予執(zhí)行權(quán)限
chmod +x /home/oracle/scripts/check_tablespace.sh
配置計(jì)劃任務(wù)(oracle用戶)
*/5 * * * * /home/oracle/scripts/check_tablespace.sh
手動(dòng)執(zhí)行腳本并查看結(jié)果
表空間腳本執(zhí)行結(jié)果
自動(dòng)發(fā)現(xiàn)腳本內(nèi)容如下:
# cat discovery_oracle_tablespace.sh #!/bin/bash #zabbix discovery oracle tablespace table_spaces=(`cat /tmp/ora_tablespace.txt | sed -e "1,3d" -e "/^$/d" -e "/selected/d" | awk '{print $1}'`) length=${#table_spaces[@]} printf "{\n" printf '\t'"\"data\":[" for ((i=0;i<$length;i++)) do printf "\n\t\t{" printf "\"{#TABLESPACE_NAME}\":\"${table_spaces[$i]}\"}" if [ $i -lt $[$length-1] ];then printf "," fi done printf "\n\t]\n" printf "}\n" 執(zhí)行結(jié)果 # ./discovery_oracle_tablespace.sh { "data":[ {"{#TABLESPACE_NAME}":"EMA"}, {"{#TABLESPACE_NAME}":"SYSAUX"}, {"{#TABLESPACE_NAME}":"MHWEB"}, {"{#TABLESPACE_NAME}":"SYSTEM"}, {"{#TABLESPACE_NAME}":"OGG"}, {"{#TABLESPACE_NAME}":"USERS"}, {"{#TABLESPACE_NAME}":"QDPTTBS"}, {"{#TABLESPACE_NAME}":"UYUN"}, {"{#TABLESPACE_NAME}":"LINKSCAPEH5DB"}, {"{#TABLESPACE_NAME}":"WX_HUANGHE_TBS"} ] }
監(jiān)控項(xiàng)腳本內(nèi)容如下:
# cat tablespace_check.sh #!/bin/bash # oracle tablespace check CEHCK_TYPE=$1 TABLESPACE_NAME=$2 function usagepre { grep "\b$TABLESPACE_NAME\b" /tmp/ora_tablespace.txt | awk '{printf "%.f\n",$5}' # grep "\b$TABLESPACE_NAME\b" /tmp/ora_tablespace.txt | awk '{printf "%.f\n",$3/$2*100}' } function available { grep "\b$TABLESPACE_NAME\b" /tmp/ora_tablespace.txt | awk '{printf $4}' # grep "\b$TABLESPACE_NAME\b" /tmp/ora_tablespace.txt | awk '{printf ($2-$3)*1024*1024}' } function check { if grep "\b$TABLESPACE_NAME\b" /tmp/ora_autex.txt | awk '{print $2}' | uniq | grep "YES" &>/dev/null;then echo 1 else echo 0 fi } case $CEHCK_TYPE in pre) usagepre ;; fre) available ;; check) check ;; *) echo -e "Usage: $0 [pre|fre|check] [TABLESPACE_NAME]" esac
Agent參數(shù)配置:
# cat /etc/zabbix/zabbix_agentd.d/oracle_tablespace.conf UserParameter=discovery.oracle.tablespace,/etc/zabbix/scripts/discovery_oracle_tablespace.sh UserParameter=tablespace.check[*],/etc/zabbix/scripts/tablespace_check.sh $1 $2 重啟zabbix-agent
主機(jī)添加模板
添加自動(dòng)發(fā)現(xiàn)模板
等待一會(huì)后查看監(jiān)控結(jié)果:
表空間監(jiān)控的數(shù)據(jù)
監(jiān)控指標(biāo)圖形展示:
這個(gè)的告警我就不去模擬了,因?yàn)槎际巧a(chǎn)環(huán)境的,下圖為4月份的TEMP表空間告警郵件截圖:
郵件通知表空間告警
以上就是Zabbix中怎么監(jiān)控Oracle數(shù)據(jù)庫(kù)表空間,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。