我有一个URL可以查询,以确保我的应用程序正常运行。 结果如下所示。 检查“确定”是在string不告诉我一切都好,我需要知道它发生3次。
{ “主人”: “主机名”, “HTTP”:{ “地位”: “OK”}, “MySQL的”:{ “地位”: “OK”}, “蒙戈”:{ “地位”:“OK “}}
我正在尝试下面的命令,但我想我没有正确地执行正则expression式,有人可以build议吗?
/ usr / lib / nagios / plugins / check_http host-name -4 -w 3 -c 5 -u'/ app / system / status'-r'ok {3}'-p 8080
给我
HTTP CRITICAL:HTTP / 1.1 200 OK – 未find模式 – 0.011秒响应时间中的245个字节| time = 0.010820s; 3.000000; 5.000000; 0.000000 size = 245B ;;; 0
正则expression式“ok {3}”将匹配字母“o”,紧跟3'k。 我不记得如何pcre兼容的nagios,所以这些可能工作:
ok.*ok.*ok
要么
(ok.*?){3}
有什么要检查所有的服务在一张支票? 说,httpd说再见,你的应用程序将不会没有它。
你可以检查页面上的整个响应:
-s,–string = STRING
String to expect in the content
/usr/lib/nagios/plugins/check_http host-name -4 -w 3 -c 5 -u '/app/system/status' -s "{"host":"host-name","http":{"status":"ok"},"mysql":{"status":"ok"},"mongo":{"status":"ok"}}"