使用外部客户端警报监控 Win 2012 R2 的 CPU 使用情况

使用外部客户端警报监控 Win 2012 R2 的 CPU 使用情况

我希望当客户的 Win 服务器使用率达到 90% 并持续超过 5 分钟时收到警报。也许可以在客户端使用一个简单的监听器应用程序。但我该如何实现呢?

已经考虑过性能分析器通过运行一个简单的程序(SwithMail)发送邮件。

有什么想法吗??

注意:我不是一名程序员;)

答案1

如果您不需要仅在 5 分钟后发出警报,则可以按照此指南创建性能计数器警报:https://support.microsoft.com/en-us/kb/2424491

如果您需要 5 分钟的时间跨度,您可以使用这个小型 powershell 脚本:

$TaskName = "SendAlert"

function alert-action()
{
    #stuff when alert happens
    Start-ScheduledTask $TaskName
}    

$Counter = 0
while($true)
{
    if(gwmi "win32_processor" | Select -ExpandProperty LoadPercentage) {
        $Counter ++
        if($Counter -eq 5)
        {
            alert-action
        }
    } else {
        $Counter = 0
    }

    Sleep -Seconds 60
}

要正确使用此功能,您需要创建一个计划任务以在 Windows 启动时运行此 powershell 脚本。然后,您需要创建一个名为“SendAlert”的任务(如果您更改此行中的变量值,则可以更改其名称$TaskName = "SendAlert":),并将此任务配置为发送电子邮件或任何您喜欢的内容。

在脚本中我创建了一个名为 的函数alert-action。如果需要,您可以在其中添加任何 powershell 行。例如使用 powershell 发送电子邮件 (https://technet.microsoft.com/en-us/library/hh849925.aspx),而不是使用计划任务。

相关内容