这是我收到的有关 CPU 使用率高的警报的 VBScript 文件。如有必要,您可以修改脚本以包含凭据:
' Get command line parameters
Dim ArgObj
Set ArgObj = WScript.Arguments
Dim strFrom, strTo, strSubject, strBody, strIPAddress
strFrom = "SERVERNA<E <[email protected]>"
strTo = "RECIPIENT <[email protected]>"
strSubject = "Automated CPU Alert from SERVERNAME"
strIPAddress = "IPADDRESS"
' get the body from the command line
If ArgObj.Count > 0 Then
strBody = ArgObj( 0 )
' if the subject is specified as an argument then add it
If ArgObj.Count > 1 Then
strSubject = ArgObj( 1 )
End If
Else
strBody = "Default alert message body"
End if
Call SendEmail( strFrom, strTo, strSubject, strBody )
' release memory
Set ArgObj = Nothing
' Sub-routing to send an e-mail using the CDO component
Sub SendEmail(sFromEmail, sToEmail, sSubject, sText )
Dim objMail
Set objMail = CreateObject( "CDO.Message" )
objMail.From = sFromEmail
objMail.To = sToEmail
objMail.Subject = sSubject
' Send using an SMTP server
objMail.Configuration.Fields.Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ) = 2
' Name or IP of remote SMTP server
objMail.Configuration.Fields.Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ) = strIPAddress
' Server port
objMail.Configuration.Fields.Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ) = 25
objMail.Configuration.Fields.Update
objMail.TextBody = sText
objMail.Send
Set objMail = nothing
End Sub
与其只为这一项创建警报,不如考虑设置 Nagios 或类似的。然后,您可以让它监控您喜欢的任何东西,并在超出您的预定义参数时提醒您。通过将您从手动监控和检查中解放出来,设置它所需的相对较少的时间将超过回报。
几个选项:
a) 安装监控代理(例如 nsclient++)并让监控系统(例如 Nagios)对其进行监控,并在磁盘空间不足时提醒您;
b) 创建一个每分钟触发一次的计划任务,读取相应的 WMI 计数器(例如 \\LogicalDisk(C:)\\Free Megabytes)并使用 CDO.Message WScript 对象发送邮件(示例:http://blogs .technet.com/heyscriptingguy/archive/2004/11/29/how-can-i-attach-a-file-to-an-email-sent-using-cdo.aspx)
+1 用于 nagios(或类似 opsview 的衍生产品)和 nsclient++。如果您了解脚本,您可以轻松地为您可能需要的任何内容编写自己的自定义插件。
如果您还没有监控,现在就开始吧!
请参阅此处:Microsoft KB 324796
我在我们的环境中使用它,效果很好。您确实需要一个 SMTP 服务器来发送消息,但它不必是同一个框。
我会检查内存不足(每 5 分钟检查一次以查看可用内存是否低于 100 MB)、处理器监视器(每 30 秒检查一次以确保处理器未运行超过 95%)和磁盘空间不足(每 30 分钟检查一次磁盘空间不低于 20%)。它们非常容易添加,我没有遇到任何问题。
这是我收到的有关 CPU 使用率高的警报的 VBScript 文件。如有必要,您可以修改脚本以包含凭据: