0

是否有任何工具或脚本可以持续检查 IBM Websphere 节点代理是否已关闭。如果关闭,它可以通过电子邮件(相关人员)发送通知。如果有任何帮助将不胜感激。

4

4 回答 4

1

您可以通过 /etc/inittab 设置重新启动节点代理

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-nd-mp&topic=trunprocessrestart

于 2014-02-07T02:21:43.710 回答
1

您可以使用进程监控工具或自定义脚本在系统进程列表中查找“nodeagent”进程。

于 2014-02-06T19:03:21.923 回答
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 } }

$srvinfoList=@((@"
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" "oncall@myoffice.com" "NodeCheck@myoffice.com" "NodeCheck" "Node is Down"}
 start-sleep -seconds 60 }
于 2015-04-24T16:45:19.090 回答
0

我通常会通过持续检查系统上的 nodeagent PID 并通知人们来做到这一点,但如果您需要在 nodeagent 上自动重新启动,那么您可以在 /etc/inittab 中配置它,如先前响应中提供的链接中所述。谢谢 注意:这些意见是我自己的。

于 2014-02-12T16:22:08.863 回答