monicazhang 发表于 2016-1-10 11:00:08

nagios如何监控进程运行的时间

本帖最后由 monicazhang 于 2016-1-11 17:53 编辑

来自:网络1: 监控进程运行时间的脚本如下:                  nagios培训
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh
STATE_OK=0
STATE_CRITICAL=2
STATE_UNKNOWN=3
if [ $# -eq 1 ];then
      myprocss=$1
      starttime=`ps -eo lstart,cmd |grep "${myprocss}"|grep -v grep|grep -v check_process_starttime|grep -v bash|head -
1|cut -b 1-24`
      if [[ -n ${starttime} ]];then
                starttimeseconds=`date +%s -d "${starttime}"`                   nagios实施
                curenttimeseconds=`date +%s`
                let difftimeseconds=curenttimeseconds-starttimeseconds
                if [ $difftimeseconds -gt 300 ];then
                        echo "CRITICAL,starttime is ${difftimeseconds} seconds.|starttime=${difftimeseconds}"
                        exit ${STATE_CRITICAL}
                else
                        echo "OK,starttime is ${difftimeseconds} seconds.|starttime=${difftimeseconds}"
                        exit ${STATE_OK}
                fi
      else
                echo "OK,starttime is ok.|starttime=0"            监控软件
                exit $STATE_OK
      fi
else
      echo "UNKNOWN,starttime is unknown.|starttime=-1"
      exit $STATE_UNKNOWN
fi

2: 脚本使用说明
    脚本只需要传一个参数,就是进程的名字。sh check_process_starttime 'init'         nagios配置
    脚本是按照nagios插件格式来写的             nagios安装

3: 脚本说明
    ps -eo lstart获取脚本的启动时间,然后跟当前时间进行对比,如果超过300s,也就是已经运行了5分钟,就进行告警。

4: 脚本待优化说明
    1: 可以让critical的阀值由参数传递进去。                开源监控软件
    2: 得支持多个进程同时探测


想做Nagios, Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流QQ群号 :476809427
页: [1]
查看完整版本: nagios如何监控进程运行的时间