У меня есть PRTG, который отслеживает мои серверы и сеть. Некоторые из моих серверов работают на базе Windows, и я хотел бы, чтобы PRTG автоматически перезапускал службы в случае их остановки.
Это можно сделать с помощью датчика WMI Service, но у меня с этим проблема. Мне нужно вручную выбирать, какие службы отслеживать. Это обременительно и не масштабируется.
Я хотел бы автоматически обнаружить службы, которые удовлетворяют условию. Например, что тип запуска службы установлен на "Автоматический". Таким образом, я мог бы установить службу на "Ручной" в случае, если бы я хотел временно отменить автоматический перезапуск.
Возможно ли это как-то?
решение1
Я работаю с PRTG уже несколько лет и не думаю, что это возможно вне графического интерфейса PRTG.
У вас есть 3 возможности.
1)Если вы хотите добавить новый WMI Service Sensore, вы можете использовать поле поиска, чтобы определить условие. Но вы можете фильтровать только Имя, Описание или состояние. Так что это вам не поможет, я думаю. (см. рисунок)
2)Если у вас есть похожие сервисы, которые вы хотите отслеживать на разных системах, вы можете использовать шаблон или функцию клонирования. Но я думаю, вы это знаете, и поэтому это не очень вам поможет. Что действительно часто помогало мне, так это последнее:
3)используйте API PRTG. С помощью API вы можете создавать новые датчики через HTTP-вызов. Я использовал эту опцию несколько раз, и она действительно очень помогла. С помощью API вы можете делать много вещей, которых вам не хватает в веб-GUI. Так что если бы я был вами, я бы проверил серверы через Powershell. ( Get-Service | Select * | ? Name -eq Spooler
- только пример) Таким образом, вы можете определить все виды условий и выбрать нужные вам службы. Если они у вас есть в массиве, например, вы можете легко сделать запрос HTTP-API. Пример:
$wclient = New-Object System.Net.WebClient
$wclient.DownloadString('https://PRTGURL/api/duplicateobject.htm?id=12345&name=NAME&targetid=23456&username=USER&passhash=PASSWORD')
Это пример дублирования существующего датчика. Вам нужен один существующий WMI-датчик для служб, а затем вы можете клонировать и изменять новый... я уже делал это с SNMP-датчиками. Я клонировал их, а затем изменил UID, чтобы получить новый датчик, который теперь отслеживает то, что мне нужно...
Информацию о PRTG API вы найдете в разделе «Конфигурация» -> «PRTG API». Или в разделеhttps://ВАШ-PRTG-URL/api.htm?tabid=6
РЕДАКТИРОВАТЬ: Вам понадобятся два вызова API: один для клонирования и один для управления/изменения имени сервиса, который вы хотите отслеживать.
Если вы хотите выбрать службы с нескольких серверов, вы можете использовать PS-Remoting или выбрать их через WMI.