使用zabbix監(jiān)控oracle表空間的操作流程
0.概述
zabbix是一款極其強(qiáng)大的開源監(jiān)控工具,下面我分享下zabbix如何監(jiān)控表空間,跟著這個思路,監(jiān)控其他項(xiàng)都是類似操作。
前提條件是你已經(jīng)有了zabbix server和zabbix agent,且zabbix agent與oracle數(shù)據(jù)庫運(yùn)行在一臺機(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)控項(xiàng)腳本
/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)選項(xiàng)
a.創(chuàng)建模板,模板名字隨便起,這里我定義了一個宏

b.創(chuàng)建自動發(fā)現(xiàn)規(guī)則

c.創(chuàng)建監(jiān)控項(xiàng)原型

d.創(chuàng)建觸發(fā)器類型

e.創(chuàng)建圖形原型

5.測試
我將一個表空間創(chuàng)建表,并插入數(shù)據(jù),使其超過80%,看其是否報(bào)警


測試通過!
到此這篇關(guān)于使用zabbix監(jiān)控oracle表空間的操作流程的文章就介紹到這了,更多相關(guān)zabbix監(jiān)控oracle表空間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
zabbix redis自動發(fā)現(xiàn)端口的腳本返回json格式
zabbix([`zæbiks])是一個基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。這篇文章主要介紹了zabbix redis自動發(fā)現(xiàn)端口的腳本,返回json格式,需要的朋友可以參考下2019-11-11
使用zabbix監(jiān)控oracle表空間的操作流程
zabbix是一款極其強(qiáng)大的開源監(jiān)控工具,下面我分享下zabbix如何監(jiān)控表空間,跟著這個思路,監(jiān)控其他項(xiàng)都是類似操作,對zabbix監(jiān)控oracle表空間相關(guān)知識感興趣的朋友一起看看吧2021-06-06
快速通過zabbix獲取數(shù)據(jù)庫連接的信息及部分?jǐn)U展
這篇文章主要介紹了通過zabbix獲取數(shù)據(jù)庫連接的信息及部分?jǐn)U展,包括zabbix配置信息,功能腳本,本文給大家分享詳細(xì)腳本寫法,需要的朋友可以參考下2021-06-06
zabbix監(jiān)控Linux系統(tǒng)服務(wù)的流程
這篇文章主要介紹了zabbix監(jiān)控Linux系統(tǒng)服務(wù)的流程,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
詳解如何調(diào)用zabbix API獲取主機(jī)
Zabbix API開始扮演著越來越重要的角色,尤其是在集成第三方軟件和自動化日常任務(wù)時(shí)。很難想象管理數(shù)千臺服務(wù)器而沒有自動化是多么的困難。Zabbix API為批量操作、第三方軟件集成以及其他作用提供可編程接口。這篇文章主要介紹了如何調(diào)用zabbix API獲取主機(jī)。2017-01-01

