【问题标题】:Nagios MonitoringNagios 监控
【发布时间】:2014-09-15 07:09:05
【问题描述】:

这是要求:

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

任何帮助将不胜感激。

提前致谢

【问题讨论】:

  • 是的,您可以这样做。编写脚本以从用户信息并将其存储在文件中的 mysql 表中获取 count()。然后使用您自己的逻辑来比较从 OLD 到 NEW 计数的数字。

标签: monitoring nagios


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    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; 
    

    【讨论】:

      【解决方案3】:

      您可以创建一个脚本 sh 来连接您的 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多