通過SSIS監控遠程服務器磁盤空間並發送郵件報警!


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

   通過WMI可以很容易查詢和獲得遠程服務器的磁盤空間,如磁盤空間不足1G,自動發送郵件給自定人員進行報警,具體過程如下:

   

    WMI的連接管理器:

   

     定義的兩個包變量如下圖:

     

      通過WMI的WQL的語句:

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。演繹或用於商業目的,但是必須保留本文的署名軟件人生(包含鏈接)。如您有任何疑問或者授權方面的協商,請給我留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM