如何监测服务器某服务的运行状态
的有关信息介绍如下:本文以Linux服务器为例说明,我们可以编写shell脚本,并利用定定时任务进行监测,大家可以参考图片中的脚本及说明自行调整。
完整命令
#! /bin/bash
PROC_NAME=tomcat
ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l`
if [ $ProcNumber -le 0 ];then
echo "tomcat is not run" + `date +%Y-%m-%d-%H-%M-%S`>>/etc/keepalived/log`date +%Y-%m-%d`.txt
sudo service keepalived stop
else
echo "tomcat is running.." + `date +%Y-%m-%d-%H-%M-%S`>>/etc/keepalived/log`date +%Y-%m-%d`.txt
fi
PROC_NAME=tomcat |命名参数,tomcat更换为自己想要监测的服务名称
ProcNumber=`ps -ef |grep -w $PROC_NAME|grep -v grep|wc -l` |查看并统计包含目的服务的数量
if [ $ProcNumber -le 0 ];then |如果数量等于0,表示没有该服务的进程
echo "tomcat is not run" + `date +%Y-%m-%d-%H-%M-%S`>>/etc/keepalived/log`date +%Y-%m-%d`.txt |输出服务没有运行,并带上日期标签,写入日志文件
sudo service keepalived stop |然后关闭VIP争抢资格,这里大家可以换成自己的处理命令,比如执行服务启动命令
else |如果数量不等于0则执行下面的脚本
echo "tomcat is running.." + `date +%Y-%m-%d-%H-%M-%S`>>/etc/keepalived/log`date +%Y-%m-%d`.txt |输出服务正在运行及日期标签的内容,写入日志文件,这里可以换成自己想要执行的处理命令。
fi
最后还要利用Linux自带的crontab定时任务进行监测。配置定时任务
crontab -e
查看定时任务列表
crontab -l