是否有任何工具或脚本不断检查IBM Websphere节点代理是否已关闭。如果它可以通过电子邮件发送通知(有关人员)。如果有任何帮助将非常感谢。
答案 0 :(得分:1)
您可以使用过程监控工具或在系统进程列表中查找“nodeagent”进程的自定义脚本。
答案 1 :(得分:1)
您可以通过/ etc / inittab
设置节点代理的重启答案 2 :(得分:0)
我通常会通过一致地检查系统上的nodeagent PID并通知人员,但是如果你需要在nodeagent上自动重新启动,那么你可以在/ etc / inittab中配置它,如前面的响应中提供的链接所述。 谢谢 注意:这些意见是我自己的。
答案 3 :(得分: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 }