Я создал сценарий Powershell, который имитирует соединение telnet с SMTP-сервером, цель этого - проверить наш SMTP-сервер шлюза, чтобы увидеть, есть ли проблемы с отправкой почты. Сценарий работает так, как я хочу, и у меня есть хорошая гильдия по использованию скриптов Powershell в SCOM с помощью консоли разработки, я застрял на том, как уловить тот факт, что когда я отправляю команду helo, и это занимает больше времени, чем 10 секунд на ответ и отправку предупреждения.
Любая помощь с этим будет принята с благодарностью
Если кто-то знает, как это сделать лучше, дайте мне знать, так как я склонен думать, что мой подход к этому вопросу немного запутан. Но я новичок в SCOM и все еще чувствую, как все работает.
Если на ответ потребуется более 10 секунд, у вас будет больше возможностей для наблюдения, и это может быть хорошо. Я бы избегал обертывания telnet напрямую, если вы можете этого избежать, так как это можно сделать лучше в PowerShell.
Взгляните на этих двоих. Я уверен, что вы могли бы соединить их вместе, чтобы при выполнении вызова вы превышали максимально допустимое время и возвращали это как предупреждение / критическое значение производительности или доступности в мониторе.
http://powershell.com/cs/media/p/357.aspx
https://stackoverflow.com/questions/4650913/how-to-timeout-powershell-function-call
Также помните, что у вас также есть <TimeoutSeconds>...</TimeoutSeconds>
свойство зондов PowerShell, которое вы тоже можете использовать. Если вы хотите использовать это, вы должны установить его на максимально допустимое время, а затем следовать ему с помощью модуля ConditionDetection в вашем источнике данных, чтобы не улавливать данные и отмечать это как проблему.
Надеюсь, это поможет.