监控多台服务器上程序进程状态
现有服务器若干台,每台服务器上都有不同的若干个应用,如apache,mysql,tomcat,oracle等,现要求通过脚本去实时统一监控多台服务器上进程的运行状态,根据进程类别不同分为每两分和每5分钟监控一次,例如apache和mysql需要每2分钟监控一次,而mail只需5分钟监控一次。如果监控到进程DOWN掉了,需发邮件给管理员,如果连续监控5次进程均是Down 掉的状态,则不再继续发邮件。因为每周都需要对进程的运行状态进行统计,所以,每次监控进程的状态记录均需要保留下来以便于统计使用。
注意:
服务器是多台,不是一台
每台服务器上的进程均不相同
需通过一台服务器对多台服务器上的进程进行集中监控,而不是在每台服务器上都配置一个监控脚本
不同进程的监控频率不同
每次监控的结果需要保存,因为以后要统计进程的每天的可用率、每周的可用率、每月的可用率
需考虑监控程序自身的可用性问题
参考答案:
进程列表(手动创建)
[******@localhost ~]$ more
执行列表(自动产生)
[******@localhost ~]$ more
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
ssh 'sh MonitorScripts/'
主脚本:
#!/BIN/BAsh
rm
cat |while read line
do
IP=`echo $line |awk '{print $1}'`
ProcessList=`echo $line|awk '{print $2,$3,$4,$5,$6,$7,$8,$9}'`
for i in $ProcessList
do
echo "ssh $IP 'sh MonitorScripts/$i'" >>
done
done
sh 1> 2>/dev/null
sh
计数器脚本
#!/bin/bash
LOG=
CountLog=
cat |while read line
do
IP=`echo
0728监控多台服务器上程序进程状态(带答案) 来自淘豆网m.daumloan.com转载请标明出处.