Azure Virtual Machinel Windows Server 2008 磁碟空間不足警示

公司習慣在Azure 上的SQL Daily Dump備份資料。
再依每天的產生當天的日期為名的資料夾,把備份資料放入做一個備份。
我們在Auzre儲存空間只有一個新增的磁碟空間。
所以備份資料都只在同一個磁碟上。

前些日子要去撈備份檔,卻赫然發現最近的幾個日期的資料夾裡沒有備份檔。
oh~天阿~

手動執行SQL Dump的批次檔,結果發現是空間不足無法產生Dump檔!
確認發現磁碟空間只剩下 25.4MB…

再去檢查事件檢視器,竟然連個警告都沒有…
為何沒有!說真的我懶得再去找那個OS版本是因為什麼因素拿掉沒有…

只好手動建立一個自動監控磁碟空間並自動發送Mail 通知警告方法。
我們利用效能監視器手動建立警示監控磁碟空間並且利用一個小smtp城市發送Mail 警告。

1. 打開伺服器管理員,選擇效能>資料收集器集合工具>使用者定義,新增資料收集器集合工具。
2014080301 

2. 輸入名稱”伺服器效能監控”,選擇使用手動建立。
2014080302

3. 選擇”效能監視器警訊。
2014080303

4. 可以看到剛剛新增的資料收集器集合。
2014080304

5. 接下來新增我們要監控項目,新增一個資料收集器。
2014080305

6. 輸入硬碟空間監控,並選擇效能計數器警訊。
2014080306

7. 點選新增,選擇監控項目
2014080307

8. 選擇Logical Disk的% Free space,
新增要監控的磁區,就是我在Azure上新增的磁區F: (請依自行需求設定選擇)
2014080308

9. 因為我的F:只有25GB (那時剛完Azure VM,以為是設多少就算多少費用,結果根本就是錯的…哈!
有機會再解釋Azure VM模糊定義的收費方式),我這裡設定設定在5%以下時觸發警訊勾選設定警訊內容。
大約是空間不到1.25GB就發出警訊。
2014080309

10. 設定效能監視器警訊執行動作,設定抽樣間格為30分鐘。
2014080310

11. 點選警訊動作頁籤,勾選在事件紀錄檔紀錄。
2014080311

12. 設定發生異常時執行排程及通知訊息
執行工作:SandNoticeEmail (後面工作排程會用到)
工作引數:{conuter}偵測硬碟空間不足,目前硬碟可用空間剩下{value}%
(點選右邊小箭頭可以瀏覽可使用的變數)
2014080312

13. 設定發送警訊通知排程,進入工作排程器,新增排程工作
名稱:SendNoticeEmail (與之前步驟執行工作名稱須相同)
設定執行帳號,選擇不論是否登入都執行
2014080313

14.點選動作,選擇新增 
2014080314

當伺服器發生異常時,有三個動作可以執行:

  • 啟用程式 (今天就是用這個來達到信件通知的服務)
  • 傳送電子郵件 (本機需要使用內建的傳送電子郵件,僅支援不需驗證的SMTP Server,小妹我當然不可能為了通知還搞個郵件服務在裡面)
  • 顯示訊息 (就是會跳出在桌面的Popup訊息,不是小妹的重點)

所以我們選擇啟用程式,並搭配一個小小工具程式sendEmail.exe。
將sendEmail.exe程是放在c:\windows下。

15. 上面動作準備完畢後,於設定地方
程式或指令碼輸入:C:\Windows\sendEmail.exe
新增引數輸入:-f abc@abc.com -u [警告] 磁碟空間不足 -m Azure $(Arg0) ,請盡速排除,發生時間:%date% %time% -t touser@abc.com -s mail.abc.com:25 -xu smtpuser -xp smatuerpassword -o message-content-type=html -o message-charset=utf8 -o tls=no
2014080315

這邊針對引數說明一下囉,你不要照抄照貼嘿!
-f:寄件者名稱
-u:通知郵件的主旨
-m:通知郵件的內文,$(Arg0)會自動帶入從效能監視器剛剛設定的警訊文字,你也可以加個發生的時間
-t:收件人
-s:寄件郵件服務主機
-xu:寄件者帳號
-xp:寄件者密碼

完成後,會要求再輸入一次最大使用者帳密,輸入完成就建立好囉。
2014080316

16. 設定完成,當硬碟工間不足時(異常時)就會收到通知的Email!小妹習慣通知自己的Gmail上!
因為現在智慧型手機發達,馬上就會收到訊息啦!
2014080317

 

 

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料