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

     利用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 。演绎或用于商业目的,但是必须保留本文的署名软件人生(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。

posted @   软件人生  阅读(4005)  评论(3编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示