×

扫描二维码登录本站

QQ登录

只需一步,快速开始

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

来自:网络
1: 监控进程运行时间的脚本如下:                    
?
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}"`                  
                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插件格式来写的            

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

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



想做Nagios Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流  QQ群号 476809427




上一篇:在Nagios上怎样添加关联性告警
下一篇:面对Nagios的吵,你能做啥?
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

最新100贴|论坛版块|ITIL先锋论坛 |粤ICP备11099876号|网站地图
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.
返回顶部