利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还是Windows服务出现状况,都会对访问系统造成严重影响,导致内部员工无法进行接待外部人员,因此整体对ESB进行优化,在本人博客的前一篇已介绍了《通过SSIS监控远程服务器磁盘空间并发送邮件报警!》。本文实现的方法思路与此相同,仅仅是监控Windows服务的状态是否为运行,如果不是运行状态则自动发送邮件进行报警,对于自动化的运维主要是通过专门的服务程序进行监控和运维等,待下次再进行介绍。
通过WMI很容易查询远程服务器的Windows服务信息,具体过程如下:
WMI的连接管理器:
定义8个包变量,对8个Windows服务进行监控,如下图:
通过WMI的WQL的语句,如下图:
脚本任务中主要实现去除服务状态变量的空格字符,如下图:
Dts.Variables["Visit"].Value = Dts.Variables["Visit"].Value.ToString().Trim();
Dts.TaskResult = (int)ScriptResults.Success;
如访客windows服务不在运行状态,发送报警邮件,如下图:
本博客为软件人生原创,欢迎转载,转载请标明出处:http://www.cnblogs.com/nbpowerboy/p/3371484.html 。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。 |