我想知道是否可以通过监控网站上的文字获得帮助。 IE浏览器如果我想监视google.com文本“隐私”,我想我会使用下面的命令:
check_http -H google.com -u http://www.google.com -s "Privacy"
但它不工作。 无论我在报价中input什么,我都会“确定”。 我显然使用错误的命令或错误的选项。 请帮忙。
尝试离开把-u。 -u给出path(页面)检索,默认是“/”,它不占用整个URL。 这是我的输出,当我离开它。
$ ./check_http -H www.google.com -s "Privacy" HTTP OK HTTP/1.0 200 OK - 0.041 second response time |time=0.040579s;;;0.000000 size=5257B;;;0 $ ./check_http -H www.google.com -s "Privacyblahdibla" HTTP CRITICAL - string not found|time=0.048169s;;;0.000000 size=5257B;;;0
如果你想得到一个特定的页面,使用-u这样的
$ ./check_http -H www.google.com -u "/ig" -s "Privacy" HTTP OK HTTP/1.0 200 OK - 0.166 second response time |time=0.165896s;;;0.000000 size=87843B;;;0
另一个select是使用来自monitoringexchange.org的check_curl。 事实上,这是一个对你所要做的事情太复杂的标题,但是我发现它在你需要从网站parsing数据并插入input
下面是我自定义的非variablescheck_curl的内容:
#!/bin/bash PROG=/usr/local/bin/curl FILE=/tmp/check_curl HALT=PRIVACY $PROG -k -s http://www.google.com > $FILE STATUS=`grep Error $FILE | awk '{ print $0 }'` grep -w $HALT $FILE > /dev/null if [ $? -eq 0 ] then WORKING=`grep Privacy $FILE | awk '{ print $5 }'` echo "Works, Returns data of $WORKING" rm $FILE else echo "Doesn't return $WORKING"| $STATUS" exit 2 fi
我们使用LWP和HTML :: Tree编写了一个自定义perl脚本来search特定的string。 我们也只是md5sum内容不会改变的一些页面。
如果我用check_http插件得到这样的问题,通常我会查找正在查找文本的URL,然后检查输出。
如果你想要的东西比check_http多一些,比如login到一个网站或者检查多个string,可以看看WebInject – 这是一个不错的插件。
您需要为-s
选项指定-e
选项才能获得所需的效果:
$ ./check_http -H "www.eurocarparts.com" -u / -s "no such string" OK - HTTP/1.1 302 Found - 0.476 second response time |time=0.475776s;;;0.000000 size=17701B;;;0 $ ./check_http -H "www.eurocarparts.com" -u / -s "no such string" -e 302 CRITICAL - string not found|time=1.633004s;;;0.000000 size=17701B;;;0 $ ./check_http -H "www.eurocarparts.com" -u / -s "0870" -e 302 HTTP OK HTTP/1.1 302 Found - 4.032 second response time |time=4.032120s;;;0.000000 size=17701B;;;0
这里有几个我使用的检查。
第一个查找文本CCServerService
并报告错误,如果它没有看到它:
define command { command_name check_cc_v5 command_line /usr/local/nagios/libexec/check_http -H $HOSTADDRESS$ -p 8080 -u /CCServer/CCServer --regex=CCServerService -w 3 -c 5 -t 10 }
第二个检查文本error
,如果发现错误则报告错误:
define command { command_name check_wb_pps command_line /usr/local/nagios/libexec/check_http -S -H $HOSTADDRESS$ -u /onlinestore/booking.php --regex=error --invert-regex -w 30 -c 60 -t 90 }