欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

通过SSIS监控远程服务器Windows服务并发送邮件报警!

程序员文章站 2022-04-18 08:19:30
...

利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还是Windows服务出现状况,都会对访问系统造成严重影响,导致内部员工

利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还是Windows服务出现状况,都会对访问系统造成严重影响,导致内部员工无法进行接待外部人员,因此整体对ESB进行优化,在本人博客的前一篇已介绍了《通过SSIS监控远程服务器磁盘空间并发送邮件报警!》。本文实现的方法思路与此相同,仅仅是监控Windows服务的状态是否为运行,如果不是运行状态则自动发送邮件进行报警,对于自动化的运维主要是通过专门的服务程序进行监控和运维等,待下次再进行介绍。

通过SSIS监控远程服务器Windows服务并发送邮件报警!

通过WMI很容易查询远程服务器的Windows服务信息,具体过程如下:

通过SSIS监控远程服务器Windows服务并发送邮件报警!

WMI的连接管理器:

通过SSIS监控远程服务器Windows服务并发送邮件报警!

定义8个包变量,对8个Windows服务进行监控,,如下图:

通过SSIS监控远程服务器Windows服务并发送邮件报警!

通过WMI的WQL的语句,如下图:

通过SSIS监控远程服务器Windows服务并发送邮件报警!

通过SSIS监控远程服务器Windows服务并发送邮件报警!

脚本任务中主要实现去除服务状态变量的空格字符,如下图:

通过SSIS监控远程服务器Windows服务并发送邮件报警!

Dts.Variables[].Value = Dts.Variables[].Value.ToString().Trim(); Dts.TaskResult = (int)ScriptResults.Success;