Назад | Перейти на главную страницу

Nagios проверяет наличие wuauserv в Windows Server 2008+

Начиная с Windows Server 2008+, wuauserv больше не является службой, которая запускается постоянно, а запускается как запланированная задача. Я не уверен в точном поведении того, как создается запланированная задача, поскольку кажется, что расписание создается и редактируется другой службой. До этого мы настраивали nagios, чтобы просто проверять работающую службу, чтобы убедиться, что она принимает обновления.

Мой вопрос: как использовать nagios для отслеживания правильного выполнения / запуска службы wuauserv в Windows Server 2008+, чтобы убедиться, что она принимает обновления?

Похоже, что на сайте есть несколько плагинов. Обмен Nagios для проверки доступных обновлений - например, вот этот. Я использовал вот этот в прошлом, я полагаю. Однако это не совсем то, о чем вы спрашиваете; это то, существуют ли обновления, и вы спрашиваете, проверяет ли система их наличие.

Что может быть ближе к тому, что вы ищете, - это что-то вроде этого сценария PowerShell:

$lastcheck = Get-ItemProperty -Path Registry::"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Detect" 

$lastdate=[datetime]$lastcheck.LastSuccessTime
$currdate = (Get-Date)
$status = new-timespan -start $lastdate -end $currdate


If ($status.days -eq 0 -and $lastcheck.LastError -eq 0) {
    Write-Host "OK:  Wuauserv last ran $lastdate."
    $exitcode = $status.Days
}
elseif ($status.days -eq 1 -and $lastcheck.LastError -eq 0) {
    Write-Host "WARNING:  Wuauserv last ran $lastdate."
    $exitcode = $status.Days
} else {
    Write-Host "CRITICAL:  Wuauserv last ran $lastdate."
    $exitcode = 2
}
exit $exitcode

(Вы хотите проверить, что дата была в пределах последних 24 часов (интервал по умолчанию - 22 часа) и что последняя ошибка была 0.)