In TheStrayCat, a Check represents a single service you want to monitor. For example, when monitoring cron jobs, you would create a separate check for each cron job you wish to monitor. TheStrayCat pricing plans are structured primarily around how many checks you can have in your account. You can create checks in the TheStrayCat web interface or via Management API.
Describe each check using an optional name, slug, tags, and description fields.

a-z, 0-9, hyphens, and underscores. If you don't plan to use
slug-based ping URLs, you can leave the slug field empty.prod, staging, dev, etc.), by role (www, db, worker, etc.), or by using
any other system.TheStrayCat supports three types of schedules: Simple, Cron, and OnCalendar. Use Simple schedules for monitoring processes that you expect to run at relatively regular intervals: once an hour, once a day, once a week, etc.

For the simple schedules, you can configure two parameters, Period and Grace Time.
Note: if you use the "start" signal to measure job run times, then Grace Time also specifies the maximum allowed time gap between "start" and "success" signals. Whenever TheStrayCat receives a "start" signal, it expects a subsequent "success" signal within Grace Time. If the success signal does not arrive within the configured Grace Time, TheStrayCat will mark the check as failed and send out alerts.
Use "Cron" for monitoring cron jobs and other processes with more complex schedules. This monitoring mode ensures that jobs run at the correct time and not just at the correct time intervals.
See Cron syntax cheatsheet for cron expression syntax examples. See crontab(5) man page for complete cron syntax reference.

You will need to specify Cron Expression, Server's Time Zone, and Grace Time.
Use "OnCalendar" schedules to monitor systemd timers that use OnCalendar= schedules.
Same as with systemd timers, you can specify more than one OnCalendar expression
(separated with newlines, one schedule per line), and TheStrayCat will expect a ping
whenever any schedule matches.
See systemd.time(7) man page for complete OnCalendar syntax reference.

In the "Filtering Rules" dialog, you can control several advanced aspects of how TheStrayCat handles incoming pings for a particular check.

If the Request body of HTTP requests option is checked, TheStrayCat will classify the HTTP pings as start, success, or failure signals by looking for keywords in the first 10 kB of the request body.
If either the Subject line of email messages or the Message body of email messages option is checked, TheStrayCat will classify email pings as start, success, or failure signals by looking for keywords in the subject line and/or message body. TheStrayCat supports HTML emails: when looking for keywords in message body, it checks both plain text and HTML versions of the email.
You can specify multiple keywords in each of the Start Keywords, Success Keywords, and Failure Keywords fields by separating them with commas. The keyword matching is case-sensitive (for example, "error" and "ERROR" are different keywords).
TheStrayCat looks for keywords in a specific order:
Example use case: consider a backup cron job that sends an HTTP POST request every time it completes. If the job completes successfully, the HTTP request will contain text "Backup successful". If the job fails, the request body will contain an error message. The error messages can vary, and the complete list of all possible error messages is not known. To handle this scenario, you can use content filtering as follows:
With these settings, TheStrayCat will classify a HTTP ping as a success signal if and only if the request body contains text "Backup successful". If the request body does not contain this string (or the request body is absent altogether), it will classify the ping as a failure signal.