真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率-創(chuàng)新互聯(lián)

監(jiān)控需求

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安順免費(fèi)建站歡迎大家使用!

 Oracle表空間使用率實(shí)時(shí)監(jiān)控,當(dāng)表空間使用率達(dá)到95%時(shí)觸發(fā)告警機(jī)制。Oracle表空間分為系統(tǒng)默認(rèn)表空間和用戶創(chuàng)建的表空間,而表空間又有自動(dòng)擴(kuò)展和非自動(dòng)擴(kuò)展兩種類型,用戶(DBA)在創(chuàng)建表空間時(shí)可以根據(jù)應(yīng)用需求指定是否開啟表空間自動(dòng)擴(kuò)展。那么在這里我們需要分析一個(gè)監(jiān)控策略,就是當(dāng)zabbix監(jiān)控到某個(gè)表空間使用率達(dá)到95%,那么就讓觸發(fā)器觸發(fā)警告(Warning)信息,并發(fā)送郵件給DBA或管理者。當(dāng)檢測(cè)到表空間沒有開啟自動(dòng)擴(kuò)展時(shí),則觸發(fā)Information信息。說明一下:oracle表空間是否開啟自動(dòng)擴(kuò)展以及大能擴(kuò)展到多少在最初應(yīng)該規(guī)劃好的,有時(shí)在創(chuàng)建表空間時(shí)指定初始容量和大能擴(kuò)展的容量一致的話,那么就會(huì)讓這個(gè)表空間立即擁有大能擴(kuò)展的容量,而不是隨著表空間的消耗而慢慢增加。所以即使我們檢測(cè)到該表空間開啟了自動(dòng)擴(kuò)展功能,實(shí)際上也不會(huì)繼續(xù)擴(kuò)展了。當(dāng)然在大多數(shù)業(yè)務(wù)場(chǎng)景下一般是不建議開啟表空間自動(dòng)擴(kuò)展功能的,除非你的業(yè)務(wù)是非關(guān)鍵的?;氐奖O(jiān)控這里,當(dāng)我們同時(shí)收到這兩個(gè)告警信息時(shí),那么就要及時(shí)處理oracle表空間使用率大于95%的問題了。

監(jiān)控方式

 有了zabbix監(jiān)控系統(tǒng),我們可以定制任何需要的監(jiān)控項(xiàng)目,首先通過自動(dòng)發(fā)現(xiàn)腳本發(fā)現(xiàn)oracle表空間,然后再制定額外的屬于oracle表空間的監(jiān)控項(xiàng)目,配置告警觸發(fā)器,最后在zabbix的Web頁面端展示oracle表空間的使用率和剩余量。

獲取oracle數(shù)據(jù)庫表空間信息的原始腳本和自動(dòng)發(fā)現(xiàn)腳本

 Oracle表空間的信息需要SQL語句查詢得到,因此,我們首先創(chuàng)建一個(gè)獲取表空間信息的原始腳本/home/oracle/bin/check_tablespace.sh,這個(gè)腳本由oracle用戶去執(zhí)行,腳本編寫如下:

oracle@hmracdb1:~/bin> cat check_tablespace.sh  #!/bin/bash # tablespace usagep check source ~/.bash_profile function check { sqlplus -S "/ as sysdba" <<  EOF set linesize 200 set pagesize 200 spool /tmp/ora_tablespace.txt select a.tablespace_name, total, free,(total-free) as usage from  (select tablespace_name, sum(bytes)/1024/1024 as total from dba_data_files group by tablespace_name) a,  (select tablespace_name, sum(bytes)/1024/1024 as free from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name; 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í)行這個(gè)腳本,并生成兩個(gè)保存有oracle表空間名稱信息的文件:/tmp/ora_tablespace.txt和/tmp/ora_autex.txt

oracle@hmracdb1:~/bin> ls -l /tmp/ora_* -rw-r--r-- 1 oracle oinstall 1030 Mar 23 20:50 /tmp/ora_autex.txt -rw-r--r-- 1 oracle oinstall  929 Mar 23 20:50 /tmp/ora_tablespace.txt   oracle@hmracdb1:~/bin> cat /tmp/ora_tablespace.txt TABLESPACE_NAME                                                   TOTAL       FREE      USAGE     ------------------------------------------------------------ ---------- ---------- ----------     TEST11                                                               50         49          1     SYSAUX                                                             2048       1197        851     UNDOTBS1                                                           2048  2036.3125    11.6875     USERS                                                              1024       1023          1     SYSTEM                                                             2048   1358.375    689.625     UDB_SPACE                                                         40960  31673.875   9286.125     UNDOTBS2                                                           2048  2035.1875    12.8125       7 rows selected.     oracle@hmracdb1:~/bin> cat /tmp/ora_autex.txt TABLESPACE_NAME                                              AUTOEX                               ------------------------------------------------------------ ------                               SYSTEM                                                       YES                                  SYSAUX                                                       YES                                  UNDOTBS1                                                     YES                                  UNDOTBS2                                                     YES                                  USERS                                                        YES                                  UDB_SPACE                                                    YES                                  UDB_SPACE                                                    YES                                  TEST11                                                       YES                                  8 rows selected.

 我們需要把腳本放到oracle用戶的crontab計(jì)劃任務(wù)表中,讓腳本在后臺(tái)每5分鐘執(zhí)行一次,一定要保證計(jì)劃任務(wù)能正常按計(jì)劃執(zhí)行,否則這可能會(huì)被監(jiān)控欺騙(監(jiān)控端獲取到的數(shù)據(jù)一直保持不變)。

hmracdb1:~ # crontab -u oracle -l # DO NOT EDIT THIS FILE - edit the master and reinstall. # (/tmp/crontab.XXXXj0XHiH installed on Thu Mar 23 11:38:37 2017) # (Cron version V5.0 -- $Id: crontab.c,v 1.12 2004/01/23 18:56:42 vixie Exp $) */5 * * * * /home/oracle/bin/check_tablespace.sh

手動(dòng)執(zhí)行SQL語句獲取表空間使用率

SQL> set linesize 200 select ff.s tablespace_name, ff.b total,               (ff.b - fr.b)usage, fr.b free,               round((ff.b - fr.b) / ff.b * 100) || '% ' usagep from (select tablespace_name s, sum(bytes) / 1024 / 1024 b                     from dba_data_files                   group by tablespace_name) ff,               (select tablespace_name s, sum(bytes) / 1024 / 1024 b                     from dba_free_space                   group by tablespace_name) fr  12  where ff.s = fr.s;   TABLESPACE_NAME                                                   TOTAL      USAGE       FREE USAGEP ------------------------------------------------------------ ---------- ---------- ---------- ------------------------------------------------------------------------------------ TEST11                                                               50          1         49 2% SYSAUX                                                             2048    851.375   1196.625 42% UNDOTBS1                                                           2048    12.6875  2035.3125 1% USERS                                                              1024          1       1023 0% SYSTEM                                                             2048    689.625   1358.375 34% UDB_SPACE                                                         40960   9286.125  31673.875 23% UNDOTBS2                                                           2048    12.8125  2035.1875 1%   7 rows selected.

下面編寫一個(gè)zabbix自動(dòng)發(fā)現(xiàn)oracle表空間的腳本discovery_oracle_tablespace.sh

hmracdb1:~ # 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í)行權(quán)限,并放到$ZABBIX_HOME/scripts/目錄下,下面是執(zhí)行該腳本輸出為json格式的oracle表空間的信息

hmracdb1:/opt/zabbix/scripts # ./discovery_oracle_tablespace.sh  {     "data":[         {"{#TABLESPACE_NAME}":"TEST11"},         {"{#TABLESPACE_NAME}":"SYSAUX"},         {"{#TABLESPACE_NAME}":"UNDOTBS1"},         {"{#TABLESPACE_NAME}":"USERS"},         {"{#TABLESPACE_NAME}":"SYSTEM"},         {"{#TABLESPACE_NAME}":"UDB_SPACE"},         {"{#TABLESPACE_NAME}":"UNDOTBS2"}     ] }

監(jiān)控項(xiàng)目檢測(cè)腳本tablespace_check.sh用于zabbix獲取oracle表空間使用率、剩余量和檢查是否開啟自動(dòng)擴(kuò)展。

hmracdb1:~ # 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",($2-$3)/$2*100}' }   function available {     grep "\b$TABLESPACE_NAME\b" /tmp/ora_tablespace.txt | awk '{printf $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

確認(rèn)腳本輸出的值為zabbix監(jiān)控所取的數(shù)值

hmracdb1:~ # ./tablespace_check.sh pre SYSTEM 34 hmracdb1:~ # ./tablespace_check.sh fre SYSTEM 1424359424hmracdb1:~ # ./tablespace_check.sh check SYSTEM 1

將腳本都保存到$ZABBIX_HOME/scpirts目錄下,然后配置UserParameter參數(shù),增加監(jiān)控key,key名稱分別為discovery.oracle.tablespace、tablespace.check,在以下配置文件末尾增加兩行

hmracdb1:/opt/zabbix/scripts # vim ../etc/zabbix_agentd.conf.d/userparameter_script.conf UserParameter=discovery.oracle.tablespace[*],/opt/zabbix/scripts/discovery_oracle_tablespace.sh UserParameter=tablespace.check[*],/opt/zabbix/scripts/tablespace_check.sh $1 $2

重啟zabbix_ahgentd

在zabbix服務(wù)端獲取oracle表空間和監(jiān)控?cái)?shù)值

[root@Zabbix_19F ~]# zabbix_get -p10050 -k 'tablespace.check[pre,SYSTEM]' -s 10.xxx.xxx.xxx 34 [root@Zabbix_19F ~]# zabbix_get -p10050 -k 'tablespace.check[fre,SYSTEM]' -s 10.xxx.xxx.xxx 1424359424 [root@Zabbix_19F ~]# zabbix_get -p10050 -k 'tablespace.check[check,SYSTEM]' -s 10.xxx.xxx.xxx 1

Zabbix Web端配置

 新建oracle表空間模版My_Templates_Linux_Discovery_oracle_tablespace,添加自動(dòng)發(fā)現(xiàn)規(guī)則,10分鐘更新一次

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

添加Item prototypes監(jiān)控項(xiàng)目,第一個(gè)表空間使用率

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

第二個(gè)表空間剩余容量

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

第三個(gè)檢查表空間是否開啟自動(dòng)擴(kuò)展

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

創(chuàng)建告警觸發(fā)器

首先創(chuàng)建檢測(cè)表空間使用率是否大于95%的觸發(fā)器

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

創(chuàng)建檢測(cè)是否開啟自動(dòng)擴(kuò)展的觸發(fā)器

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

查看監(jiān)控?cái)?shù)據(jù)

zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率

到這里,zabbix監(jiān)控oracle表空間使用率就完成了

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)頁題目:zabbix自動(dòng)發(fā)現(xiàn)oracle表空間并監(jiān)控其使用率-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://weahome.cn/article/diopii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部