使用nifi监测程序是否可用,每10分钟检测一次,连续两次出现问题就重启,第一次预警,第二次重启

1、模版获取

https://github.com/qkfm-97/nifi-example/blob/main/ops/check_warn_reboot.xml

2、任务说明

使用NiFi监控程序的可用性,每10分钟检测一次。如果检测到一次问题,会发送预警通知。如果连续两次检测到问题,系统将自动重启程序。

3、流程截图

4、重点说明

1、设置两个变量reboot_lasttime和warn_time放入本地系统的缓存,每次成功都设置两个值为1,如果出现告警或者重启就把时间设置为重启和告警的时间,用于判断每次要重启时是否已经告警。

2、通过ExecuteStreamCommand执行remote.sh来执行远程服务器的重启命令restart.sh

remote.sh时放在nifi服务器的/opt下


#!/bin/bash

# 远程主机信息
REMOTE_HOST="192.168.60.122"
REMOTE_USER="root" # 替换为你的远程主机用户名
REMOTE_SCRIPT_PATH="/opt/restart.sh"

# 使用SSH执行远程脚本
ssh ${REMOTE_USER}@${REMOTE_HOST} "sh ${REMOTE_SCRIPT_PATH}"

# 检查SSH命令的执行状态
if [ $? -eq 0 ]; then
    echo "远程脚本执行成功"
else
    echo "远程脚本执行失败"
fi

restart.sh在需要重启服务的服务器192.168.60.122上

#!/bin/bash

# Tomcat的安装路径
TOMCAT_HOME="/path/to/tomcat"

# 获取Tomcat进程的PID
PID=$(ps aux | grep '[t]omcat' | awk '{print $2}')

if [ -z "$PID" ]; then
  echo "Tomcat is not running."
else
  # 强制停止Tomcat
  echo "Stopping Tomcat with PID $PID..."
  kill -9 $PID
  echo "Tomcat has been stopped."
fi

# 等待5秒钟
sleep 5

# 启动Tomcat
echo "Starting Tomcat..."
$TOMCAT_HOME/bin/startup.sh

echo "Tomcat has been restarted successfully."

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值