在Hyperic中,有一個重要的指標是「可用性」,開始接觸時總有些迷惑,這究竟是什麼,如何得到的?按可用性判斷一個資源的狀態是否知足咱們的需求?數據庫
分析幾個經常使用的使用場景:併發
1,平臺可用性。一般Hyperic 在每一個被監控的平臺(Linux,Windows,iOS)上部署Hyperic Agent. 若是Hyperic Agent能返回任何數據,即認爲該平臺可用。而咱們通常認爲,若是能ping通該機器,才認爲是可用的,這須要新建一個「ping」服務,輪詢該主機。url
2,SQL Server的可用性。Hyperic根據SQL Server服務的狀態判斷該SQL Server是否可用。即便該SQL Servver不能接收客戶的請求,有時也是可用的。這每每須要新建一個「SQL」服務,按期鏈接數據庫併發出一個查詢請求,根據返回結果判斷是否可用,而後根據結果生成報警等。spa
3,Weblogic的可用性。Hyperic Agent經過JMX採集Weblogic監控數據,包括JVM 堆大小,可用堆大小,線程池,JDBC鏈接池,EJB,Servlet等指標。其可用性等指標不適合用來判斷是否可繼續提供服務。能夠經過新建 「http服務」按期訪問指定的url,根據返回結果判斷是否可用。.net
4,對於一些其餘應用,例如COM+等,就須要特殊的Hyperic 插件按期訪問。插件
總結,判斷一個資源是否可用,經常應按照用戶體驗的原則,按期訪問一下這個資源,而不僅根據該資源自身的一些指標數據來判斷。線程
作IT不忘武林:《一代宗師》雜談orm