Nagios是一種廣泛使用的開源監(jiān)控系統(tǒng),支持監(jiān)控多種操作系統(tǒng)、網(wǎng)絡(luò)設(shè)備、應(yīng)用程序等。其中,對于用到Oracle數(shù)據(jù)庫的應(yīng)用系統(tǒng),Nagios也提供了一系列的監(jiān)控方式,以保障業(yè)務(wù)系統(tǒng)的持續(xù)穩(wěn)定運(yùn)行。
為了保證數(shù)據(jù)庫的高可用性,我們需要在監(jiān)控時(shí)針對數(shù)據(jù)庫實(shí)現(xiàn)合理的指標(biāo)監(jiān)控,目前最常用的Oracle監(jiān)控方式是通過Nagios core加插件nagios-plugins來實(shí)現(xiàn)數(shù)據(jù)監(jiān)視,并使用NRPE來實(shí)現(xiàn)Oracle數(shù)據(jù)庫監(jiān)控。
首先我們需要在Nagios server上安裝NRPE插件,實(shí)現(xiàn)與Oracle數(shù)據(jù)庫的交互。同時(shí),為了能夠?qū)?shù)據(jù)庫進(jìn)行詳細(xì)的監(jiān)控,還需要在NRPE插件中配置相應(yīng)的檢測項(xiàng)。例如:
Check_oracle_sid Check_oracle_tablespace Check_oracle_tbs_status
以上檢測項(xiàng)分別用于監(jiān)控?cái)?shù)據(jù)庫SID、表空間以及表空間狀態(tài)。這些插件的配置可以通過修改/usr/local/nagios/etc/nrpe.cfg文件實(shí)現(xiàn)。同時(shí),為了更詳細(xì)的監(jiān)控Oracle數(shù)據(jù)庫,我們還需要在Nagios server端配置相應(yīng)的服務(wù)文件。
Check_oracle_file_system Check_oracle_pcount Check_oracle_temp Check_oracle_uptime
以上服務(wù)文件分別實(shí)現(xiàn)對Oracle文件系統(tǒng)、用戶數(shù)、臨時(shí)表空間使用情況以及數(shù)據(jù)庫運(yùn)行時(shí)間的監(jiān)控。這些服務(wù)文件的配置可以通過修改/usr/local/nagios/etc/services.cfg文件實(shí)現(xiàn),以保證Oracle數(shù)據(jù)庫系統(tǒng)的穩(wěn)定運(yùn)行。
在實(shí)際應(yīng)用過程中,維護(hù)人員可以根據(jù)實(shí)際監(jiān)控中的情況對相應(yīng)的配置進(jìn)行調(diào)整,以達(dá)到最優(yōu)的監(jiān)控效果。例如,在監(jiān)控表空間時(shí),可以設(shè)置相應(yīng)的閾值,當(dāng)表空間所剩空間小于設(shè)定值時(shí),Nagios系統(tǒng)會(huì)發(fā)送警報(bào),提醒維護(hù)人員及時(shí)進(jìn)行處理。
另外,在部署Nagios監(jiān)控Oracle系統(tǒng)時(shí),需要清晰確定監(jiān)控站點(diǎn)類型,制定相應(yīng)的網(wǎng)絡(luò)監(jiān)控計(jì)劃,保證監(jiān)控準(zhǔn)確及時(shí)。
總的來看,基于Nagios的監(jiān)控方式可以很好的實(shí)現(xiàn)對Oracle數(shù)據(jù)庫運(yùn)行情況的監(jiān)控,維護(hù)人員可以根據(jù)具體情況進(jìn)行相應(yīng)的調(diào)整,以達(dá)到最佳的監(jiān)控效果。在使用過程中,需要注意安全問題,保證系統(tǒng)的安全穩(wěn)定運(yùn)行。