由于之前ESB是供應商部署的,且部署在C槽(C槽空間很小,還添加了很多ESB的windows服務日志在C槽,很容易把C槽空間占滿,導緻ESB服務運作當機,幾乎每隔幾周發生一次事故,需要人工幹預處理,不甚其煩), 是以前段時間對于基于RabbitMQ建構的ESB進行了綜合優化,以確定ESB服務的穩定可靠,同時初步建立了自動化的ESB監控和運維體系,本文介紹一種其中用到技術之一,通過SSIS監控遠端伺服器磁盤空間并發送郵件報警,目的是當自動化ESB運維失效的時候,可以進行人工幹預處理。
通過WMI可以很容易查詢和獲得遠端伺服器的磁盤空間,如磁盤空間不足1G,自動發送郵件給自定人員進行報警,具體過程如下:

SELECT FreeSpace FROM Win32_LogicalDisk where DriveType= 3 and DeviceID='C:'
腳本任務中主要實作磁盤空間的變量指派并判斷是否小于1G:
long gb = 1024 * 1024 * 1024;
// TODO: Add your code here
Dts.Variables["DiskResults"].Value = double.Parse(Dts.Variables["DiskUsageResults"].Value.ToString()) / gb;
Dts.TaskResult = (int)ScriptResults.Success;
磁盤空間不足1G,發送報警郵件,如下圖:
最終實作效果,如下圖:
本部落格為軟體人生原創,歡迎轉載,轉載請标明出處:http://www.cnblogs.com/nbpowerboy/p/3367918.html。演繹或用于商業目的,但是必須保留本文的署名軟體人生(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。 |