4.6.3. EDIT MONITORING SCRIPTS Subsection
Figure 4.9. The EDIT MONITORING SCRIPTS Subsection
- Sending Program
- For more advanced service verification, you can use this field to specify the path to a service-checking script. This functionality is especially helpful for services that require dynamically changing data, such as HTTPS or SSL.To use this functionality, you must write a script that returns a textual response, set it to be executable, and type the path to it in the Sending Program field.
NoteTo ensure that each server in the real server pool is checked, use the special token
%hafter the path to the script in the Sending Program field. This token is replaced with each real server's IP address as the script is called by the
nannydaemon.The following is a sample script to use as a guide when composing an external service-checking script:
#!/bin/sh TEST=`dig -t soa example.com @$1 | grep -c dns.example.com if [ $TEST != "1" ]; then echo "OK else echo "FAIL" fi
NoteIf an external program is entered in the Sending Program field, then the Send field is ignored.
- Enter a string for the
nannydaemon to send to each real server in this field. By default the send field is completed for HTTP. You can alter this value depending on your needs. If you leave this field blank, the
nannydaemon attempts to open the port and assume the service is running if it succeeds.Only one send sequence is allowed in this field, and it can only contain printable, ASCII characters as well as the following escape characters:
- \n for new line.
- \r for carriage return.
- \t for tab.
- \ to escape the next character which follows it.
- Enter a the textual response the server should return if it is functioning properly. If you wrote your own sending program, enter the response you told it to send if it was successful.
NoteTo determine what to send for a given service, you can open a
telnetconnection to the port on a real server and see what is returned. For instance, FTP reports 220 upon connecting, so could enter
quitin the Send field and
220in the Expect field.