我写的监控脚本

1

#!/bin/bash
pid=`ps -ef  | grep tomcat8082 | grep -v grep | wc -l`
port=`netstat -anplt | grep 8082 | wc -l `
path=/usr/tomcat/tomcat8082/bin/startup.sh
if [ $pid = 1 -a $port -eq 1 ];then
   echo "tomcat is running"
else
   echo "tomcat8082 is stoped and now let‘s run it"
   sleep 3
   echo "now restart tomcat8082"
    [ -x $path ] && sh $path > /dev/null 2>&1 && status="sucess" || status="failure"
   sleep 5
   pid=`ps -ef  | grep tomcat8082 | grep -v grep | wc -l`
   port=`netstat -anplt | grep 8082 | wc -l `
   pid8082=`ps -ef |grep tomcat8082|grep -v grep |awk ‘{print $2}‘`
   if [ $pid -ne 1 -a $port -ne 1 ];then
    while true
   do
    kill -9 $pid8082
    [ $? -eq 0 ]  && break
   sleep 1
   done
       [ -x $path ] sh $path && status="success" || status="failure"
   fi
fi
~

2                                                                                                                                           #!/bin/bash
port=`netstat -anplt |grep httpd | wc -l `
process=`ps -ef |grep httpd | wc -l `
path=/etc/init.d/httpd
if [ $port -eq 1 -a $process -gt 1 ];then
        echo "http is running"
     else
        echo "http is stopping,do you want to start httpd?"
        read -p "start [1] \t not start [2] :" a
        [ $a -eq 1 ] && [ -x $path ] && $path start
        if [ $port -ne 1 -o $process -le 1 ];then
           while true
           do
           pkill httpd
           [ $? -eq 0 ]  && break
           done
          [ -x $path ] && $path start
        fi
        [ $a -eq 2 ] && exit
fi~

3

#!/bin/bash
#stat=`nmap 192.168.0.200 -p 80 | grep open |wc -l`
ip=192.168.0.200
wget -T 10 -q  192.168.0.200
if [ $? -eq 0 ];then
       echo "the httpd service of $ip is running"
     else
        /etc/init.d/httpd start
fi
~

4

#!/bin/bash
#stat=`nmap 192.168.0.200 -p 80 | grep open |wc -l`
[ -f /etc/init.d/functions ] && . /etc/init.d/functions ||exit 1
httpcode=`curl -I -s 192.168.0.200 | head -1 | awk ‘{print $2}‘`
if [ "$httpcode" == "200" ];then
       action "http is running." /bin/true
     else
       action "http is not running." /bin/false
      sleep 1
       /etc/init.d/httpd start >/dev/null  && \
      action "nginx is started." /bin/true
fi
~

时间: 2024-10-28 07:45:36

我写的监控脚本的相关文章

python 写一个类似于top的监控脚本

最近老板给提出一个需要,项目需求大致如下:  1.用树莓派作为网关,底层接多个ZigBee传感节点,网关把ZigBee传感节点采集到的信息通过串口接收汇总,并且发送给上层的HTTP Server: 2.要有数据的反向控制通道,即网关与Server间要保持长连接,采用websocket实现,以此实现给ZigBee传感节点发送控制命令,来实现对ZigBee节点的远程配置操作: 3.树莓派网关本身要与上层Server实现交互,上层Server能够看到网关实时的cpu.内存以及网络上行与下行的带宽等等:

[主机/oracle/msyql] 监控脚本

为了方便自己测试和监控,写了三个监控的脚本. 分别监控: 主机[cpu,mem,disk,fs,net] oracle mysql 脚本如下: hmon.py: monitor Linux os system including cpu,memory,disk,net,file system at a regular interval. mmon.py: monitor MySQL DataBase with innodb engine on Linux platform at a regula

MySQL的keepalived高可用监控脚本

MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepalived的高可用的时候,就要考虑一种情况的发生,那就是如果机器网卡并没有断,二十由于MySQL服务的不稳定,或者人为的误操作,导致的服务关闭,会引起的结果就是,keepalive并不会切换,因为并不是主master的虚拟ip不存在,而是服务已经停止

几个常用的Linux操作系统监控脚本

本文介绍了几个常用的Linux监控脚本,可以实现主机网卡流量.系统状况.主机磁盘空间.CPU和内存的使用情况等方面的自动监控与报警.根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 最近时不时有互联网的朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能细化主机监控的全面性. 下面是我常用的几个主机监控的脚本,大家可以根据自己的情况再进

linux系统CPU,内存,磁盘,网络流量监控脚本

前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat /proc/loadavg 从系统启动开始到当前累积时刻 4, #uptime 系统运行多长时间 5, #mpstat CPU的一些统计信息 6, # 一,linux系统CPU,内存,磁盘,网络流量监控脚本 [作者:佚名来源:不详时间:2010-7-6 [我来说两句大中小] cme.sh网络流量监

自定义 nagios监控脚本

一. 自定义nagios监控脚本 1. 在客户端上创建脚本/usr/local/nagios/libexec/check_disk.sh   :就是监控脚本要在客户端vim  /usr/local/nagios/libexec/check_disk.sh 写入如下内容:(client上)#!/bin/bash#!/bin/bashrow=`df -h |wc -l`for i in `seq 2 $row`do        ava=`df -h |sed -n "$i"p|awk '

shell迷你版监控脚本

写了一个shell版mini监控脚本,纯属跟大家分享学习下,有兴趣学习shell的可以看下.(*_*) 总共3个脚本文件service.sh, daemon.sh ,tcp.sh 实现了一些基本功能:端口监控,存活监控,掉线邮件报警,重新上线邮件通知 将3个文件放在同个目录下 设置:在tcp.sh中可以设置邮件通知地址,与邮件通频率次数 运行: ./service.sh start 主要文件代码如下: tcp.sh文件 #!/bin/bash LANG=C #邮件地址设置 fromaddress

Linux基本的报警监控脚本

以前刚开始学shell的时候写的基本监控脚本,不过现在直接使用nagios的插件进行监控了,发出来给大家看看. 1  监控磁盘: #!/bin/sh used_disk=`df-h|grep /dev/sda2|awk '{print int($5)}'` if [$used_disk -gt 90 ] then echo "disk is more than 90%,now is$used_disk%." fi 2  监控内存: #!/bin/sh used_mem=`free-m|

系统日志监控脚本,程序关闭和启动功能

系统日志监控脚本,程序关闭和启动功能 最近由于工作原因写了一个关于系统日志监控脚本,监控到某些信息后,脚本中进行程序关闭和启动的功能. 详细内容如下: #!/bin/sh #current date time DATE=`date "+%Y%m%d"` #log file path and name LOGFILE="log/porgram.log.$DATE" #program name PROGRAM="porgram" #program s