Cluster Health Monitor(簡稱CHM)是一個Oracle提供的工具,用來自動收集作業系統的資源(CPU、記憶體、SWAP、進程、I/O以及網路等)的使用方式。CHM會每秒收集一次資料,11.2.0.3版本是5秒收集。
這些系統資源資料對於診斷叢集系統的節點重啟、Hang、執行個體驅逐(Eviction)、效能問題等是非常有協助的。還以使用CHM來及早發現一些系統負載高、記憶體異常等問題,從而避免產生更嚴重的問題。
CHM會自動安裝在下面的軟體:
11.2.0.2 及更高版本的 Oracle GridInfrastructure for Linux (不包括Linux Itanium) 、Solaris (Sparc 64 和 x86-64)
11.2.0.3 及更高版本 Oracle GridInfrastructure for AIX 、 Windows (不包括Windows Itanium)。
在叢集中,可以通過下面的命令查看CHM對應的資源(ora.crf)的狀態:
$ crsctl stat res ora.crf -init
CHM主要包括兩個服務:
1). SystemMonitor Service(osysmond):這個服務在所有節點都會運行,osysmond會將每個節點的資源使用方式發送給cluster logger service,後者將會把所有節點的資訊都接收並儲存到CHM的資料庫。
2). Cluster Logger Service(ologgerd):在一個叢集中的,ologgerd 會有一個主機點(master),還有一個備節點(standby)。當ologgerd在當前的節點遇到問題無法啟動後,它會在備用節點啟用。(這個和DRM的master是不同的概念)
CHM Repository:用於存放收集到資料,預設情況下,會存在於Grid Infrastructure home 下 ,需要1 GB 的磁碟空間,每個節點大約每天會佔用0.5GB的空間。 您可以使用OCLUMON來調整它的存放路徑以及允許的空間大小(最多隻能儲存3天的資料)。
關閉和開啟CHM(最好用grid帳號在2個節點上分別執行執行)
關閉:
ora11grac1</home/grid>$ crsctl stop res ora.crf –init
ora11grac2</home/grid>$ crsctl start res ora.crf –init
開啟:
ora11grac1</home/grid>$crsctl startres ora.crf -init
ora11grac2</home/grid>$crsctl startres ora.crf -init
備忘:
1.關閉服務後I/O緩緩下降
2.本次修改僅僅適用於本次,重啟DB或者crs服務本次修改失效
3.是否啟用主要取決於生產環境的裝置IO,測試機可以直接禁用
啟用和禁用CHM:
#<GRID_HOME>/bin/crsctl modify resource ora.crf -attr"AUTO_START=never" –init
#<GRID_HOME>/bin/crsctl modify resource ora.crf -attr"AUTO_START=always" -init
參考文檔:MOS文檔: Cluster Health Monitor (CHM) FAQ(Doc ID 1328466.1)