Начиная с 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.)