orabbix外掛程式監控oracle表空間問題

2022-01-10 11:39:29 字數 2875 閱讀 4904

我們安裝好orabbix外掛程式後,檢視tablespaces監控項是發項值為none,第一反應是沒監控成功,其實不然。

1、我們開啟orabbix監控項引數的路徑,下面為tablespaces的sql**

[root@-svr1 ~]# vim /opt/orabbix/conf/query.props

select '- tablespace ->',t.tablespace_name ktablespace, \

'- type->',substr(t.contents, 1, 1) tipo, \

'- used(mb)->',trunc((d.tbs_size-nvl(s.free_space, 0))/1024/1024) ktbs_em_uso, \

'- actualsize(mb)->',trunc(d.tbs_size/1024/1024) ktbs_size, \

'- maxsize(mb)->',trunc(d.tbs_maxsize/1024/1024) ktbs_maxsize, \

'- freespace(mb)->',trunc(nvl(s.free_space, 0)/1024/1024) kfree_space, \

'- space->',trunc((d.tbs_maxsize - d.tbs_size + nvl(s.free_space, 0))/1024/1024) kspace, \

'- perc->',decode(d.tbs_maxsize, 0, 0, trunc((d.tbs_size-nvl(s.free_space, 0))*100/d.tbs_maxsize)) kperc \

from \

( select sum(bytes) tbs_size, \

sum(decode(sign(maxbytes - bytes), -1, bytes, maxbytes)) tbs_maxsize, tablespace_name tablespace \

from ( select nvl(bytes, 0) bytes, nvl(maxbytes, 0) maxbytes, tablespace_name \

from dba_data_files \

union all \

select nvl(bytes, 0) bytes, nvl(maxbytes, 0) maxbytes, tablespace_name \

from dba_temp_files \

) \group by tablespace_name \

) d, \

( select sum(bytes) free_space, \

tablespace_name tablespace \

from dba_free_space \

group by tablespace_name \

) s, \

dba_tablespaces t \

where t.tablespace_name = d.tablespace(+) and \

t.tablespace_name = s.tablespace(+) \

order by 8) \

where kperc > 93 \

and tipo <>'t' \

and tipo <>'u'

tbl_space.nodatafound=none

這個sql會返回93%滿的表空間資訊,而對應這個監控項,orabbix也定義了觸發器,因為監控項的返回值是文字,而沒有滿足條件的記錄時返回字串「none「,所以監控項對應的觸發器會檢查返回值開頭是不是none,如果不是,就報警,這樣,使用者除了收到預警資訊,還能從返回值的具體值中看到具體時哪個表空間快滿了。

改為3%後測試結果:

當然,大部分時間監控項會返回none,所以我們無法畫出正常未滿的表空間的空間占用時間曲線。只有超過93%慢時,我們才知道具體的占用情況。

customtbl.query=select 'tbl:'||a.tablespace_name||',' tbl, \

'total size:'||trunc(sum(a.tots) / 1024 / 1024, 2)||',' tot_size_mb, \

'free mb:'||round(sum(a.sumb) / 1024 / 1024, 2)||',' tot_free_mb, \

'pct free:'||round(sum(a.sumb) * 100 / sum(a.tots), 2)||',' pct_free, \

'max free mb:'||round(sum(a.largest) / 1024 / 1024, 2)||',' max_free_mb, \

'chunks free:'||sum(a.chunks)||',' chunks_free \

from (select tablespace_name, \

0 tots, \

sum(bytes) sumb, \

max(bytes) largest, \

count(*) chunks \

from dba_free_space a \

group by tablespace_name \

union \

select tablespace_name, sum(bytes) tots, 0, 0, 0 \

from dba_data_files \

group by tablespace_name) a \

group by a.tablespace_name

customtbl.nodatafound=none

外掛程式式的監控實現

結合本週分享的 comsat 監控使用 和以前聽過的 comsat外掛程式開發 總結一下。一.comsat 是什麼?comsat 是基於flex 和 j2ee開發的監控系統,能夠承接系統監控和應用監控的需求,對於系統監控,主要監控記憶體使用,jvm狀態,cpu使用率等,系統監控侵入性較小,而對於應用...

Centos如何安裝監控外掛程式

centos映象 拷貝監控外掛程式到 usr bin目錄下 chmod x usr bin 外掛程式檔名 chmod x etc rc.d rc.local在 etc rc.d rc.local末尾新增nohup usr bin 外掛程式檔名 web.listen address 9182 var ...

Jmeter 外掛程式監控Linux資源

上圖的檔案要有,檔案中寫了 時間有限,沒有試不寫行不行 還是不行的話,再試試2 其他博文說,隨便加乙個sampler,不用加引數,我加了乙個http請求,沒有加引數,然後就可以了 3 版本不知道有沒有影響,jmeter版本用的是3.1 原來裝的jmeter是5.2.1版本的,看到有人說3.1之後的版...