2014-02-06 4 views
-1

Есть ли какой-либо инструмент или скрипт, который постоянно проверяет, нет ли узловых узлов IBM Websphere или нет. если вниз, он может отправить уведомление по электронной почте (заинтересованное лицо). если есть какая-то ваша помощь, мы высоко ценим.Любой способ найти узлы узлов IBM websphere опущены

+0

Я подозреваю, что кто-то дал вам -1 за то, что вы не указали информацию о своей среде или о том, что вы пробовали. – user2655065

ответ

1

Вы можете использовать инструмент мониторинга процесса или настраиваемые сценарии, которые ищут процесс «nodeagent» в списке системных процессов.

0

Я обычно делаю это, последовательно проверяя агента узла PID на систему и уведомляет людей, но если вам требуется автоматическое повторное -start on nodeagent, тогда вы можете настроить его в/etc/inittab, как описано в ссылке, приведенной в предыдущем ответе. Thanks Примечание: Эти мнения являются моими.

0

Это сделает я. Измените srvinfoList и sendmail, затем вставьте в powershell.

function sendMail($smtpServer, $Eto, $EFrom, $ESubject, $EBody) { 
$msg = new-object Net.Mail.MailMessage ; $smtp = new-object Net.Mail.SmtpClient($smtpServer) ; $msg.From = $EFrom ; $msg.ReplyTo = $EFrom ; $msg.To.Add($Eto) ; $msg.subject = $ESubject ; $msg.IsBodyHTML = $false ; $msg.body = $Ebody ; $smtp.Send($msg)} 

Function CheckServers($srvlist) { 
ForEach ($srv in $srvlist) { 
    $SrvName = $srv.split(",")[0] ; $path = "\\" + $SrvName + $srv.split(",")[1] 
    $PIDs = (Get-ChildItem -recurse $path | %{if($_ -match ".pid") {$_.name} }) 
    $ProcInfo = foreach($PIDName in $PIDS) { $PIDName + "`t" + (get-content ($path + $PIDName.substring(0, $PIDName.Length -4) + "\" + $PIDName)) } 
    $perflist = (get-wmiobject Win32_PerfFormattedData_PerfProc_Process -computername $SrvName) 
    foreach ($perf in $perflist) { $SrvName + "`t" + $perf.PercentProcessorTime + "`t" + $perf.IdProcess + "`t" + [system.math]::ceiling($perf.WorkingSetPrivate/1024000) + "`t" + (LU_PIDNAME $perf.IdProcess $ProcInfo $perf.name) }}} 

Function LU_PIDNAME($PIDsrch,$PIDdata,$PIDefault) { foreach ($PID1 in $PIDdata) { if ($PID1.split("`t")[1] -eq $PIDsrch) { $PID1.split("`t")[0] ; $PIDefault = $False } } if($PIDefault -ne $False) { $PIDefault } } 

[email protected]((@" 
WAS7ND1,\d$\WebSphere\AppServer\profiles\AppSrv01\logs\ 
WAS7ND2,\d$\WebSphere\AppServer\profiles\AppSrv01\logs\ 
"@).split(10)) 

while($true){ 
cls;"Checking Servers for nodeagent`n" 
$Results = CheckServers $srvinfoList ; $Results 
if((($Results -match "nodeagent").count -eq 0)) {sendMail "mail.isp.com" "[email protected]" "[email protected]" "NodeCheck" "Node is Down"} 
start-sleep -seconds 60 } 

 Смежные вопросы

  • Нет связанных вопросов^_^