标签: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 powershell wmi 自动化 实时监控
原文地址:http://aimax.blog.51cto.com/11610508/1965662