实现Weblogic服务进程监控及自动重启脚本

简介: Weblogic服务偶尔会挂掉,为了使weblogic能够在挂掉后第一时间能够重启,基于此背景下实现Weblogic进程监控及自动重启脚本,本文主要记录实现过程中遇到的问题及解决办法。

Weblogic服务器偶尔会挂掉,为了使weblogic能够在挂掉后第一时间能够重启,基于此背景下实现了Weblogic进程监控及自动重启脚本。

第一部分,Weblogic自动重启脚本如下:

#!/bin/sh
port1=8002
ipaddr1=192.168.1.4
currentDate=`date '+%Y-%m-%d %H:%M:%S'`

ps -aux | grep weblogic
sleep 3
port1Info1=`netstat -an|awk '{print $1, $4}' |sort -u| grep '[^0-9]'$port1'$' | grep ''$ipaddr1'' |wc -l`

if [ "$port1Info1" -eq "0" ];
then
  echo 'start'$port1' service.'
  nohup sh /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain/restart_server1.sh
fi
exit 0

遇到的问题:当监控到weblogic进程不存在时,采用绝对路径启动失败;但手动执行监控脚本可正常判断当服务宕机时重启服务,部署到定时任务则无法启动,上述脚本的中的部分代码,如果部署到定时任务则无法自动重启:

nohup sh /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain/restart_server1.sh

解决方法:必须切换到脚本所在的目录执行启动脚本,否则加入到系统定时任务中无法正常自动启动服务,如以下代码:

cd /data/weblogic/Oracle/Middleware/user_projects/domains/base_domain  nohup ./restart_server1.sh&

第二部分,实现了Weblogic监控及调用重启脚本如下:

#!/usr/bin/perl
@array_port = (
8891,
8892,
8893
);
$ipaddr1 = "10.3.40.214";

#$IPADDR=`ifconfig | grep 'inet addr' |sed 2,10d | cut -d: -f2| cut -d' ' -f1`;
#chop $IPADDR;

foreach $port (@array_port[0..$#array_port]){
 my $port1Info = `netstat -an|awk '{print \$1, \$4}' |sort -u| grep '[^0-9]$port\$' | grep '$ipaddr1' |wc -l`;
 chop $port1Info;
 print "$port -- $port1Info\n";
 if ($port1Info == "0"){
   print "start $port service.\n";
   $stat = `sh /data/monWeblogic.sh`;
   print "excute weblogic start script, start status: $stat\n";
 }
}
exit;
相关文章
|
3月前
|
存储 监控 算法
电脑监控管理中的 C# 哈希表进程资源索引算法
哈希表凭借O(1)查询效率、动态增删性能及低内存开销,适配电脑监控系统对进程资源数据的实时索引需求。通过定制哈希函数与链地址法冲突解决,实现高效进程状态追踪与异常预警。
213 10
|
6月前
|
缓存 NoSQL Unix
【实战指南】守护进程服务实现
本文介绍了在Linux系统中实现守护进程异常重启的几种方案。通过理解僵死进程和信号处理机制,提出了基于SIGCHLD信号监听、轮询proc文件系统及waitpid接口的三种方法,并给出了C++实现代码。最终选择轮询方式以提升稳定性,确保服务进程在崩溃后能自动重启,保障系统可靠性。
379 59
|
10月前
|
数据库
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
|
10月前
|
数据库
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
本文介绍了YashanDB在特定场景下的问题分析与解决方法。当使用yasboot重启数据库后,yasom和yasagent进程虽启动成功但出现告警,原因是缺少libnsl.so.1库文件或环境变量配置错误。解决步骤包括:检查系统中是否存在该库文件,若不存在则根据操作系统类型安装(有外网时通过yum或apt,无外网时创建符号链接),若存在则调整环境变量配置,并重新启动相关进程验证问题是否解决。
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
1688 2
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
810 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
246 1
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
233 1