У меня есть некоторые java-компоненты, которые иногда умирают, и единственный способ, который я знаю, - когда пользователь сравнивает данные, они получают ошибку.
Что я сделал в наших системах мониторинга, так это подсчитал количество java-процессов, запущенных на сервере.Если компонент умирает, меня предупреждают, что пороговое значение Java ниже нормального, и я вхожу в систему, чтобы узнать, какой из компонентов Java умер.Это работает, но я думаю, что можно уточнить, какой компонент умер, и иметь возможность запускать процесс Java удаленно.
Итак, я подумал о написании скрипта Powershell, который выполняется из системы мониторинга.Я думаю, что у меня есть большая часть «одного лайнера», но мне нужно немного больше помощи, чтобы привести меня к финишу, так как я думаю, что этот сценарий не нуждается в разработке.
$theProcess = Get-WmiObject win32_process -Filter "name like '%java%'" | select commandLine
Вывод этой команды дает мне все параметры, отправленные JVM, включая имя компонента, позволяет вызвать компонент «COMP_Number1», и обычно выполняется 5 процессов компонента Java, поэтомуимена компонентов: «COMP_Number2», «COMP_Number3» и т. д.
Мой вопрос: учитывая вывод $ theProcess, как я могу проверить все процессы Java, чтобы проверить, что все компоненты работают?А если нет, то какой из них не запущен?
Многое оценено!
TT