Dead Man's Snitch is a monitoring tool for cron, Heroku Scheduler, or any periodic process. DMS will notify you when your scheduled tasks don't run so you can investigate before it becomes a problem.
Have you ever had a backup fail or an email campaign not go out? DMS will tell you right away when something doesn't happen so you can fix it before it becomes a problem. Still not convinced? Learn more in this blog post.
A snitch looks like this:
$ curl https://nosnch.in/c2354d53d2. It's a unique URL we create for you to add to jobs you want monitored. If you want to add a snitch to your backup cronjob it would look something like this:
$ run_backups_or_something && curl https://nosnch.in/c2354d53d2.
Yes! We're working on adding a wider range of intervals for greater flexibility, better ways to track and organize your snitches, and new integrations so they work better with your existing systems.
Receiving an email when cron is working can be helpful, but it's hard to tell when things don't run. The lack of an email in your inbox is hard to detect. DMS solves this problem by sending you an email if your task hasn't checked in when it should. A second email notification will be sent once your task begins reporting again.
Any language that can fetch a URL.
Yes! We wrote a blog post on it here.
Anyone who signs up to our free plan gets 1 free snitch and access to standard intervals (hourly, daily, weekly, monthly). You can upgrade to any of our paid plans for more snitches and enhanced intervals. If you'd like more snitches you can:
Dead Man's Snitch is a product of Collective Idea, a software development & consulting company based in Holland, Michigan.
We use DMS for our own clients every day. We're building it to be a service that we want to use, and hope you will too!
If you have an hourly, daily, weekly or monthly task, great! Choose the same interval. If your task is delayed (or depending on how long it takes to complete) you may receive an alert that your process hasn't checked-in. As soon as your task finishes, you will be notified that it's working again.
If your task runs at a different interval than what we currently have available, no problem. Take how often your task runs and round UP to the next DMS interval. For example, if you have a job that runs every six hours, choose daily.
Each interval has a start and end time and is broken into periods. At the end of each period, DMS looks back to see if the job checked-in during the period. If it did, great. If it didn't an alert email is sent.
Yes! The closer you ping a snitch to the end of a period the faster you will be alerted if your job fails.
Take a look at the image below of the two timelines for a daily snitch. In the first timeline, notice how the email is sent soon after the missed check-in. However, in the second timeline notice how the email isn't sent until much later.
We explain these diagrams in greater detail in this blog post.
By default, emails will be sent to the email address you signed up with. You can set a per-snitch alert email when you create your snitch. You can also set an account-wide alert email address by signing in to your account and clicking your email address at the top of your dashboard. If you choose not to have a per-snitch alert email address, we fall back to your account alert email address. If you don't have an account-wide alert email address, we fall back your the account sign-up address.
Yes! For your account alert email address or for your per-snitch email address enter multiple emails separated by commas, like so:
The light next to your snitch on your dashboard indicates its current status. If the snitch URL hasn't been hit yet the light will remain its neutral gray color. The light will turn green when the snitch has been hit and has checked-in properly. If the snitch hasn't checked-in the light will turn red. A snitch that is paused will be yellow.
Your snitch dashboard is also available with the DMS iOS app here! Upgraded users have the option to receive Push Notififications when jobs fail.
By default, the dashboard displays snitches alphabetically. The best way to keep your dashboard organized is to tag each snitch. This blog post explains how tags work.
After you create your snitch and curl it after your task, simply hit the URL.
Why pause it? If your snitch is being pinged, you won't receive any emails. If you want to pause it you can only do so after it fails to check-in. Click the gear icon next to your snitch and click pause.
Snitches are automatically unpaused when they are pinged.
We want to make sure you have it installed and working correctly to kick off the process.
You should check back in a day or so to make sure it started. We will email you around three days after you create or pause a snitch to make sure you know it hasn't started back up yet.
Just hit the URL manually then wait. I suggest you do this with an hourly snitch so you don't have to wait forever. To manually hit the URL, either curl it after your cron job and hit return, or copy and paste your snitch into a new browser and hit return. Refresh your DMS dashboard and you should see a green light next to your snitch indicating that it's working.
Easy. Head to your snitch settings page, choose the new interval and confirm the change.
Click the gear icon next to your snitch name, then "Delete."
No! Any language's HTTP library will work. Just send a request to your unique snitch URL. If you send a message in your the request body, be sure to set
Content-Type: application/x-www-url-formencoded in the request headers. Alternately, you can ignore the headers and put the message in the URL query parameters:
For 15 and 30 minute snitches we keep ten days; for hourly snitches, fifteen days; for daily, a month; for weekly, six months; for monthly, two years.
We tried making everything in the user's timezone but then it led to second-guessing what was going on. Since our audience is developers and sysadmins and we are always thinking in different timezones, we decided to use UTC.
2015-07-04 05:01:42 UTC
Unless you check in super often, you shouldn't hit our rate limits. After the first 10 pings in an hour, snitches are limited to one hit per minute.
No, it checks to make sure your process hit the URL at least once each period (UTC). Technically, it could hit the URL at the beginning of one period and the end of the next and show success. We do it this way because things that are set to run every hour will not always finish in the exact same time and so you may get a lot of false failures.
Send us a direct message by clicking on the ? (when logged in) in the bottom right-hand corner of any DMS page. We're always ready to help! Questions, comments or feedback? Email us at firstname.lastname@example.org.