使用zabbix監(jiān)控oracle表空間的操作流程
0.概述
zabbix是一款極其強(qiáng)大的開源監(jiān)控工具,下面我分享下zabbix如何監(jiān)控表空間,跟著這個思路,監(jiān)控其他項都是類似操作。
前提條件是你已經(jīng)有了zabbix server和zabbix agent,且zabbix agent與oracle數(shù)據(jù)庫運行在一臺機(jī)器上面。
1.在agent上面準(zhǔn)備腳本
a.定義查表空間使用率的腳本
/home/oracle/get_tablespace_usage.sh
#!/bin/bash # get tablespace usage source ~/.bash_profile function check { sqlplus -S "/ as sysdba" << EOF set linesize 200 pagesize 200 set feedback off heading off spool /tmp/tablespace.log select tablespace_name,round(used_percent) used_percent from dba_tablespace_usage_metrics; spool off quit EOF }; check &> /dev/null errors=`grep ERROR /tmp/tablespace.log | wc -l` if [ "$errors" -gt 0 ]; then echo "" > /tmp/tablespace.log fi
chown oracle: get_tablespace_usage.sh
chmod 755 get_tablespace_usage.sh
b.定義表空間自動發(fā)現(xiàn)的腳本
/etc/zabbix/scripts/discovery_tablespace.sh
#!/bin/bash # zabbix auto discovery oracle tablespace tablespaces=(`cat /tmp/tablespace.log | awk '{print $1}' | grep -v "^$"`) length=${#tablespaces[@]} printf "{\n" printf '\t'"\"data\":[" for ((i=0;i<$length;i++)) do printf "\n\t\t{" printf "\"{#TABLESPACE_NAME}\":\"${tablespaces[$i]}\"}" if [ $i -lt $[$length-1] ];then printf "," fi done printf "\n\t]\n" printf "}\n"
chmod 755/etc/zabbix/scripts/discovery_tablespace.sh
c.定義表空間監(jiān)控項腳本
/etc/zabbix/scripts/tablespace_check.sh
#!/bin/bash # oracle tablespace check TABLESPACE_NAME=$1 grep "\b$TABLESPACE_NAME\b" /tmp/tablespace.log | awk '{print $2}'
chmod 755/etc/zabbix/scripts/tablespace_check.sh
2.將腳本a放入crontab里面
su - oracle
crontab -e
*/5 * * * * /home/oracle/get_tablespace_usage.sh
執(zhí)行的結(jié)果查看/tmp/tablespace.log,第一列是表空間的名字,第二列是對應(yīng)的表空間使用率
EXAMPLE 2 SYSAUX 3 SYSTEM 5 TBS01 85 TEMP 0 UNDOTBS1 0 USERS 1
3.編輯agent參數(shù)
vi /etc/zabbix/zabbix_agentd.d/userparameter_oracle.conf
# tablespace usage
UserParameter=discovery.tablespace,/etc/zabbix/scripts/discovery_tablespace.sh
UserParameter=tablespace.check.[*],/etc/zabbix/scripts/tablespace_check.sh $1
4.在zabbix web界面中設(shè)置相關(guān)選項
a.創(chuàng)建模板,模板名字隨便起,這里我定義了一個宏
b.創(chuàng)建自動發(fā)現(xiàn)規(guī)則
c.創(chuàng)建監(jiān)控項原型
d.創(chuàng)建觸發(fā)器類型
e.創(chuàng)建圖形原型
5.測試
我將一個表空間創(chuàng)建表,并插入數(shù)據(jù),使其超過80%,看其是否報警
測試通過!
到此這篇關(guān)于使用zabbix監(jiān)控oracle表空間的操作流程的文章就介紹到這了,更多相關(guān)zabbix監(jiān)控oracle表空間內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。