Alternatively to HTTP/HTTPS requests, you can "ping" checks by sending email messages to special email addresses.
By default, ztn.sh healthchecks will consider any email received at the displayed address as a "success" signal. Optionally, you can configure ztn.sh healthchecks to look for specific keywords in the subject line or the message body to decide if the message is a "start," a "success," or a "failure" signal.
ztn.sh healthchecks treats keywords as case-sensitive (for example, "Error" and "error" are different keywords), and matches them in a specific order:
You can set up keywords in the Filtering Rules dialog:
Consider a cron job that runs weekly and sends newsletters to a list of email addresses. You have already set up a check to get alerted when your cron job fails to run. But you ultimately want to check if your emails are getting sent and delivered.
The solution: set up another check, and add its email address to your list of recipient email addresses. Set its Period to 1 week. As long as your weekly email script runs correctly, and there are no email delivery issues, ztn.sh healthchecks will regularly receive an email, and the check will stay up.
If you use backup software that can be configured to send an email report after each backup run, you can monitor it with ztn.sh healthchecks. Create a new check in ztn.sh healthchecks and configure your backup software to send email reports to its email address. Then set up keywords in the Filtering Rules dialog to distinguish between successful and failed backup runs. ztn.sh healthchecks will keep quiet as long as it receives regular success reports, but will notify you when it does not receive a success report for too long or receives a failure report.
Emails are more susceptible to random delivery delays than HTTP requests. Adjust the grace time parameter for your checks to account for the possible email delivery delays, and avoid false alerts.
Tracking job durations (using the "start" and "success" signals) will be less accurate when pinging via email and may not be feasible at all for jobs with very short durations.