MSSQL/WMI/PowerShell結合篇(一)簡介
本文主要介紹Windows的WMI與PowerShell實現實時告警,如若覺得麻煩,可用MSSQL的WMI alerts,相對更為簡單。
為什麽考慮MSSQL與WMI、PowerShell三者結合?它們可以做什麽?
WMI/PowerShell都是Windows的插件及功能,用它們來實現MSSQL監控、自動化作業等等,無疑是最簡單方便的。
為什麽不考慮用監控工具?
免費的工具不能滿足需求,強大的工具(SCOM)太貴,中小公司很少考慮購買。
一、實時告警方式
何為實時告警?也就是一旦發現告警信息,能立即通知到相應的人員。針對實時告警信息的接收方式,通過比較短信/郵件/QQ/微信,在PowerShell下以微信最為方便、實時性最高。
二、WMI事件
首先確保WMI服務是啟動的(某些功能上類似Zabbix的agent,專門用於數據采集)
1) EventFilter
事件過濾器,主要用於篩選WMI的事件信息
2) Consumer
事件消費者,主要用於觸發動作:如調用腳本、記錄日誌、執行命令等
3) Binding
事件綁定,主要用於將EventFilter與Consumer進行綁定,即可實現實時動作
對於EventFilter、Consumer與Binding的結合,且稱為WMI Monitor,PowerShell為PS,方便下文引用
三、實時告警實現原理
大致的原理如下:
WMI Monitor—>數據庫服務器(內網)—>PowerShell—>監控服務器(內外網)—>發送微信
在MSSQL服務器註冊WMI Monitor,通過PowerShell遠程調用監控服務器上的發送微信腳本。PowerShell與WMI均可實現遠程訪問,至於為什麽使用PowerShell,是由於相對簡單,較為安全。
四、監控類別
MSSQL+WMI+PS
1) 數據庫DDL操作
2) 數據庫鏡像狀態變化
3) 死鎖
4) update/delete語句(由SQL Server采集數據,WMI觸發實時告警)
.....
五、自動化作業類別
MSSQL+PS
1) 備份文件定期刪除
2) 備份文件可用性驗證
3) 備份文件定期還原校驗
.....
後續篇章將一一展開介紹各功能及類別。
本文出自 “aimax” 博客,請務必保留此出處http://aimax.blog.51cto.com/11610508/1965662
MSSQL/WMI/PowerShell結合篇(一)簡介