首页 文章

Nagios监控

提问于
浏览
0

这是要求:

我有一个运行python和django的应用程序 . 此应用程序的用户登录详细信息将保存到mysql表 . 用户登录应用后,将在此表上进行更新 . 因此,如果应用程序上没有活动两天,我需要在nagios上打印“CRITICAL”状态,否则在nagios上打印“OK”状态 . 可以用nagios实现吗?

任何帮助,将不胜感激 .

提前致谢

3 回答

  • 1

    是的,这是可能的 . 让服务对数据库运行查询以计算自上次更新以来的天数 . 如果> 2,则将服务设置为CRITICAL .

  • 0
    lastupdate=$msql query to count last day update from today date
    
    if lastupdate > 2 ;then             
    echo 'Your requirement is Completed'                                          
    exit 2;
    
    else
    
    echo 'Your requirement is not Completed '    
    exit 0;
    
  • 1

    您可以创建一个脚本来连接到您的mysql数据库,例如:

    SELECT date FROM users ORDER DESC BY date LIMIT 1
    INTO OUTFILE '/tmp/tmpnagiosusers.txt'
    

    那么你有las注册日期,所以你可以将它用于你的sh脚本!,例如(非常简单和可扩展):

    today=`date +"%Y-%m-%d")
        user=$(mysql -D $MYDB -u $MYUSER -p $MYPASS -se "SELECT COUNT(user_id) FROM users WHERE date >= $today - 2")
        if [ $user -lt 1 ];
        then
         echo 'THere is a problem, you dont have much people registering ($user)' in the last twoo days;
         exit 1;
        else
         echo 'Ok you have $user registrations the last twoo days'
         exit 0;
        fi
    

相关问题