
抱歉,下面的文字牆。
在我的工作場所,我們有相當多的 Exchange 伺服器和支援網域控制器,目前全部由 SCOM 監控。我已經在 SCOM 在 ASP.net 網站中的功能之上設定了某些監視元素,並由 SQL DB 支援。
我渴望更密切地監控伺服器,以便我們能夠:
Baseline the servers better for historical comparison
If a problem occurs we can pull out more raw data.
為此,我想從 Perfmon 計數器中提取更多資料。我知道 SCOM 可以提取一些 Perfmon 數據,而且確實如此,但是我們的 SCOM 實作相當大,管理它的人不希望我將計數器的頻率提高到足以有時有用。
另外,查詢 SCOM DB 的資料意味著我無法真正更改索引、控制我需要的資料的截止時間或真正控制我可能需要的內容。
我這裡的問題實際上是我應該如何解決這個問題,而不是如何實際提取資料並將其插入,因為我已經有了可以提取資料並將其插入 SQL 的腳本。
大致來說,我們的伺服器劃分如下:
Exchange 2007 in Domain1.com
Exchange 2010 in Domain2.com
對於 Exchange 2007/2010,伺服器在邏輯上劃分如下:
Mailbox Servers
Client Access Servers
Hub Transport Servers
Domain Controllers
我想從上述所有伺服器中獲取基礎知識的計數器,然後更深入地了解特定伺服器類型,例如從郵箱伺服器提取 RPC 平均延遲、來自 CAS 伺服器的連接數、每秒提交的訊息數HT伺服器等
所以我想要做的是創建 4 種腳本類型,每種類型的伺服器一個,然後按計劃從每台伺服器運行它們以記錄一些數據,連接到我的 SQL DB,然後將記錄插入表中。
對於我的 SQL 表,我應該為每個伺服器類別建立一個表,還是將所有記錄放入一個表中?
在每台伺服器上執行本機腳本並將所有資料丟到 SQL 表中是不是一個糟糕的主意?我考慮過遠端收集數據,但如果我只想每隔幾分鐘捕獲一點數據,我發現由於網路延遲或其他導致計時失敗的因素,時間差異很大。
我也很想知道任何潛在的歸檔解決方案,例如如何保留最近幾天更頻繁的記錄(也許所有計數器在 5 天內每 5 分鐘一次),但保留不那麼頻繁的記錄。
答案1
最後,我只是運行了一個遠端收集,但對於一組有限的數據,並將間隔設置為大約每 5 分鐘一次,到目前為止似乎還不錯。我需要考慮資料保留、查詢效率等,但同時我已經回答了我自己的問題,沒有人提出任何建議。