以下是要求:
我有一个运行python和django的应用程序。此应用程序的用户登录详细信息将保存到mysql表。用户登录应用后,将在此表上进行更新。因此,如果应用程序上没有活动两天,我需要在nagios上打印“CRITICAL”状态,否则在nagios上打印“OK”状态。是否可以使用nagios实现?
任何帮助都将不胜感激。
提前致谢
答案 0 :(得分:1)
是的,这是可能的。让服务对数据库运行查询以计算自上次更新以来的天数。如果> 2,请将服务设置为CRITICAL。
答案 1 :(得分:1)
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;
答案 2 :(得分:0)
您可以创建一个脚本来连接到您的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