通过SSIS监控远程服务器磁盘空间并发送邮件报警

本文直接参考了博客园软件人生的文章操作的,写在这里只为做个记录.

到公司这边先把两个报表服务器接收了. 为防止宕机,部署个磁盘警告的SSIS包.

Step 1 建立两个变量来接收和写入磁盘容量

Step 2 创建 WMI和SMTP 连接管理器

Step 3 拖个WMI Data Reader Task,并进行配置

注意,几乎每个选项都要改

SELECT FreeSpace FROM Win32_LogicalDisk where DriveType= 3 and DeviceID=‘C:‘

Step 4 拖个Script Task 并进行配置

long gb = 1024 * 1024 * 1024; 

            // TODO: Add your code here
            Dts.Variables["DiskResults"].Value = double.Parse(Dts.Variables["DiskUsageResults"].Value.ToString()) / gb;

            Dts.TaskResult = (int)ScriptResults.Success;

(注,我点击Edit Script的时候报错了, 应该是之前装了新版本的SSDT删掉后,在用老的SSDT就会有问题。把原来VS相关的东西删掉,再重新安装SSDT就好了)

约束限制:

最后设置SMTP就好啦

问题

 SQL Agent 默认的启动帐号 NT Service\SQLSERVERAGENT 跨服务访问WMI提示失败, 我尝试把这个帐号加入管理组也不行。 后来找了个本地帐号来启动SQL Agent 才可以。 看资料好像WMI只认本地帐号。 其他小伙伴碰到这个情况请解说下。

参考文档

[总结]WMI相关的知识

http://blog.chinaunix.net/uid-7672958-id-2599044.html

Could not load file or assembly ‘Microsoft.VisualStudio.Tools.Applications.Core’

http://pietervanhove.azurewebsites.net/?p=461

WQL - WMI Event Watcher Task - Access Denied

https://social.technet.microsoft.com/Forums/sqlserver/en-US/fe033702-d1e9-4276-a2a4-99a7ae61c722/wql-wmi-event-watcher-task-access-denied?forum=sqlintegrationservices

时间: 2024-10-24 23:42:05

通过SSIS监控远程服务器磁盘空间并发送邮件报警的相关文章

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

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

批处理映射远程服务器磁盘

之前找了很多代码都没有生效,原来是忘记在服务器磁盘上加$了,在这里记录下,免得以后再忘了,听说这个利用的是一个叫做IPC的漏洞,代码如下, net use y: \\127.0.0.1\C$ "password" /user:"namename" y表示,映射成功之后,服务器的硬盘在本地的盘符为y盘,以防冲突,选择字母靠后一点的,127.0.0.1表示的是你的服务器地址,password表示你的服务器的密码,namename表示你用老登陆的用户名,C$表示要把服务器

Jenkins服务器磁盘空间管理策略

Jenkins在帮助我们自动化构建服务的同时也在消耗服务器的磁盘空间,试想如果构建的项目个数很多,而Jenkins 服务器磁盘空间又不是非常大的话,每隔一段时间磁盘空间就会爆满导致Jenkins出现磁盘空间不足无法构建的后果.这时候我们就需要进行一定的手工干预才能恢复Jenkins的正常运作.本文基于Windows操作系统,结合Jenkins 的相关特性解决上述问题. 一.手工删除构建记录 这是最基本的一种操作方法,通过直接物理删除构建记录进行磁盘空间管理.手工删除构建记录方式如下: 进入Jen

Windows Server 服务器磁盘空间不足怎么办

用户的Lync服务器只有80G空间,D盘最近刚加的,今天发现C盘大小竟然就剩几百MB了,桌面上看到有些Log文件,全部删除了,好不容易腾出三个G的空间,起码今天下班之前不会出现什么大的问题,我跟用户说你们加磁盘空间吧,用户的意思就是不行,你得给我把空间删除出来...说干就干 ===解决方法 1)我在C盘中Ctrl+A,查看属性发现C盘其实才占用了47.7GB,算上剩余的3.57GB,一共51GB 剩余将近30GB的空间被什么占用了... 2)计算机属性---更改设置---高级---性能设置 这个

ansible用playbook实现定期监控各机器磁盘空间任务

目标:用ansible定期监控各机器的磁盘空间状况 和进程运行状况 1)配置playbook脚本,实现对磁盘空间 和 特定进程运行状态的每日检查: 2)通过邮件插件,把检测结果发到ops邮箱: 一.playbook的配置实现 monitor_ansible.yaml 1 --- 2 - name: diskspace_mornitor 3 hosts: local 4 user: root 5 gather_facts: no 6 vars: 7 path: /home/devops 8 9 t

使用VisualVM监控远程服务器JVM

VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很有帮助.在windows中安装JDK后,VisualVM位于%JAVA_HOME%/bin/下,直接执行jvisualvm.exe即可,一个主要运行界面如图: VisualVM会自动检测本机运行中的JVM并建立连接,本文主要介绍连接远程Linux服务器的配置方法,测试环境为CentOS 6.5,JD

JVM监控远程服务器

1. 首先配置服务器端,进入服务器tomcat的bin目录下,打开catalina.sh配置文件,xxx为服务器配置路径. # cd /xxx/apache-tomcat-8.0.44/bin # vim catalina.sh 2. 修改文件中的JAVA_OPTS配置项,添加如下内容: -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.j

【Java】监控远程服务器JVM

今天在用JMeter进行测试的时候,发现线程并发量到50的时候会导致阻塞情况,于是需要监控远程JVM,那么如何监控远程JVM呢? 首先,找到启动计量引擎的sh文件,例如我目前的计量引擎启停文件为stratAPP.sh.stopAPP.sh 1.停止引擎 ./stopApp.sh 2.添加内容 JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.102 -Dcom.sun.management.jmxremote=true -Dco

使用WMI和性能计数器监控远程服务器权限设置

应用场景:在web服务器中,通过.NET编码使用WMI查询远程服务器的一些硬件配置信息,使用性能计数器查询远程机器的运行时资源使用情况.在网上没有找到相关的东西,特记录与大家共享. 将web服务器和所有的远程服务器添加的同一个域中,并创建一个域账户. 在web站点的web.config中添加如下配置 将域账户添加到Performance Monitor Users,使域账户具有远程访问性能计数器的权限. 2. 打开WMI权限设置 安全 标签 3. 选中CIMV2,添加 域账户 ,并选中 启用账户