Hello Team, I'm using check_http plugin for nagios alerting. Till now, i was using the http status code to raise the alerts. but recently, i was asked to verify some json http response along with the http status code where i need to modify my nrpe.cfg file.
check_http -H xxxxx.xxx -S -k 'Host: xxxx.xxx' -k 'Test: Test' -p 443 -j > POST -T 'application/x-www-form-urlencoded' -P 'name:xyz' -a 'xyz123: > 123xyz' -u '/a/b/c?Redirect_URL=https://www.google.com/' -e 'HTTP/1.1 200 > OK' -f follow -l -r 'operator:t-mobile' Here the issue i face is, i am able to detect the status code, but i am not able to match the regex pattern which i get in http response(JSON) Sample response suing the curl is : { "a": 12332423452, "response": { "test": "test1", "abc": "abc", "operator": "t-mobile", "country": "india", "currency": "Rupee", }, "id": > "419E2BD429C1C8E7459911268513C9B5EE3C2AD0E4BE5C528952D6A89DE8D6E2C6623494ADA60C1AAF0462C30CB71874D86D1CFEBEBE26E59DA9654B5ABC9E0916CCD5D88097163AC9ED87B43E00549A86C818700C5B3E561CF0AB9ADC0AB7FA9C072175B4495034CF7F3313CA8D154DA086F9B86EFF3212" } I even tried using the -s flag where we can use expected string, but the id field in the response will be keep changing, which made me to check for regex. *Output: *HTTP CRITICAL: Status line output matched "HTTP/1.1 200 OK" - > HTTP/1.1 200 OK - pattern not found - 9987 bytes in 0.938 second response > time |time=0.938158s;;;0.000000 size=9987B;;;0 Any suggestion/help would be appreciated. Thanks -- Regards, Shijith Thomas Bangalore, Karnataka India