1. 程式人生 > >MSSQL/WMI/PowerShell結合篇(一)簡介

MSSQL/WMI/PowerShell結合篇(一)簡介

mssql powershell wmi 自動化 實時監控

本文主要介紹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結合篇(一)簡介