MSSQL/WMI/PowerShell结合篇(五)SQL Server镜像状态变化实时告警
2017-10-06 16:09
645 查看
本文介绍SQL Server镜像状态变化实时告警,利用WMI Monitor实时监控镜像状态,在状态发生变化时捕获相关信息,通过PowerShell发送微信信息,以达到实时告警的目的。
1、创建WMI监控
DATABASE_MIRRORING_STATE_CHANGE 为镜像状态变化信息表,通过WQL语句可以获取相关镜像状态变化详细信息,参考《MSSQL/WMI/PowerShell结合篇(二)创建WMI监控》
核心代码片段
EventFilter
${Query}= "select * from DATABASE_MIRRORING_STATE_CHANGE";
Consumer
${Text} ="数据库镜像告警`nServerName:=%ComputerName%`nInstance:=%SQLInstance%`nDatabase:=%DatabaseName%`nState:="
$Text2="%State%"
2、PowerShell远程调用
当镜像状态发生变化时,Consumer触发执行PowerShell脚本动作,在被触发脚本中调用外网服务器的发送微信脚本,参考《MSSQL/WMI/PowerShell结合篇(三)执行PowerShell远程脚本》
3、PowerShell发送微信信息
实时发送微信信息,参考《MSSQL/WMI/PowerShell结合篇(四)PowerShell发送微信信息》
核心代码片段
镜像状态
$Mirror_State=$(switch($Text2)
{0 {"Mirroring-Session-is-Started`n"}
1 {"Synchronized-Principal-with-Witness`n"}
2 {"Synchronized-Principal-without-Witness`n"}
3 {"Synchronized-Mirror-with-Witness`n"}
4 {"Synchronized-Mirror-without-Witness`n"}
5 {"Connection-with-Principal-Lost`n"}
6 {"Connection-with-Mirror-Lost`n"}
7 {"Manual-Failover`n"}
8 {"Automatic-Failover`n"}
9 {"Mirroring-Suspended`n"}
10 {"No-Quorum`n"}
11 {"Synchronizing-Mirror`n"}
12 {"Principal-Running-Exposed`n"}
13 {"Synchronizing-Principal`n"}});
告警示例:
1、创建WMI监控
DATABASE_MIRRORING_STATE_CHANGE 为镜像状态变化信息表,通过WQL语句可以获取相关镜像状态变化详细信息,参考《MSSQL/WMI/PowerShell结合篇(二)创建WMI监控》
核心代码片段
EventFilter
${Query}= "select * from DATABASE_MIRRORING_STATE_CHANGE";
Consumer
${Text} ="数据库镜像告警`nServerName:=%ComputerName%`nInstance:=%SQLInstance%`nDatabase:=%DatabaseName%`nState:="
$Text2="%State%"
2、PowerShell远程调用
当镜像状态发生变化时,Consumer触发执行PowerShell脚本动作,在被触发脚本中调用外网服务器的发送微信脚本,参考《MSSQL/WMI/PowerShell结合篇(三)执行PowerShell远程脚本》
3、PowerShell发送微信信息
实时发送微信信息,参考《MSSQL/WMI/PowerShell结合篇(四)PowerShell发送微信信息》
核心代码片段
镜像状态
$Mirror_State=$(switch($Text2)
{0 {"Mirroring-Session-is-Started`n"}
1 {"Synchronized-Principal-with-Witness`n"}
2 {"Synchronized-Principal-without-Witness`n"}
3 {"Synchronized-Mirror-with-Witness`n"}
4 {"Synchronized-Mirror-without-Witness`n"}
5 {"Connection-with-Principal-Lost`n"}
6 {"Connection-with-Mirror-Lost`n"}
7 {"Manual-Failover`n"}
8 {"Automatic-Failover`n"}
9 {"Mirroring-Suspended`n"}
10 {"No-Quorum`n"}
11 {"Synchronizing-Mirror`n"}
12 {"Principal-Running-Exposed`n"}
13 {"Synchronizing-Principal`n"}});
告警示例:
相关文章推荐
- MSSQL/WMI/PowerShell结合篇(一)简介
- MSSQL/WMI/PowerShell结合篇(四)PowerShell发送微信信息
- MSSQL/WMI/PowerShell结合篇(二)创建WMI监控
- MSSQL/WMI/PowerShell结合篇(三)执行PowerShell远程脚本
- Android 实时监测(监听)网络连接状态变化
- AngularJS实时监听Html控件状态(值)变化
- SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题
- Android 实时监测(监听)网络连接状态变化
- 飞鸽快信微信消息-LINUX服务器告警、状态监控预警、程序报警提醒等消息实时推送工具
- Android 利用BroadcastReceiver实时检测网络状态变化
- 让“提交”按钮状态跟随edittext以及checkbox等的状态实时变化
- 使用广播实时更新网络状态变化
- WinCE实时获取电源状态变化
- inotify结合rsync监控目录的实时变化
- 飞鸽快信微信消息-LINUX服务器告警、状态监控预警、程序报警提醒等消息实时推送工具
- sql server启动不了, MSSQL 18052错误: 9003,严重度: 20,状态: 1 .
- WinCE实时获取电源状态变化
- 监控SQL Server数据库异常镜像状态发告警邮件 推荐
- WinCE实时获取电源状态变化
- Android 实时监测(监听)网络连接状态变化