2014-02-06 10 views
-1

IBM Websphere Node Agent가 다운되었는지 여부를 지속적으로 확인하는 도구 또는 스크립트가 있습니까? 다운되면 이메일 (관련자)을 통해 알림을 보낼 수 있습니다. 도움이된다면 매우 감사하겠습니다.IBM Websphere Node Agent를 찾을 수있는 방법이 다운되었습니다.

+0

환경이나 내가 뭘했는지에 대한 정보를 제공하지 않았기 때문에 누군가 당신에게 -1을 준 것으로 의심됩니다. – user2655065

답변

1

시스템 프로세스 목록에서 "nodeagent"프로세스를 찾는 프로세스 모니터링 도구 또는 사용자 정의 스크립트를 사용할 수 있습니다. 를 통해 노드 에이전트의

0

내가 지속적으로 시스템에 노드 에이전트 PID를 확인하여이 작업을 수행하고 사람들을 통지하지만, 일반적으로 것입니다 당신은 자동 다시 필요한 경우 nodeagent에서 시작하면 이전 응답에서 제공된 링크에서 설명한대로/etc/inittab에서 구성 할 수 있습니다. 감사합니다. 참고 : 이러한 의견은 저만의 의견입니다.

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 }