Dead Man's Snitch

Sign In

  1. Docs
  2. Overview

Frequently Asked Questions

General


What is Dead Man's Snitch?

Dead Man's Snitch is a monitoring tool for cron, Heroku Scheduler, or any periodic process. Dead Man's Snitch will notify you when your scheduled tasks don't run so you can investigate before it becomes a problem.

Why would I need this?

Have you ever had a backup fail or an email campaign not go out? Dead Man's Snitch will tell you right away when something doesn't happen so you can fix it. Still not convinced? Learn more in this blog post.

What is a Snitch?

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 cron job it would look something like this:

Terminal
run_backups_or_something && curl https://nosnch.in/c2354d53d2

Cron already sends me output. How is this different?

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. Dead Man's Snitch 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.

Which programming language can I use Dead Man's Snitch with?

Any language that can fetch a URL.

Can I use Dead Man's Snitch with Windows Servers?

Yes! We have Field Agent to make it super simple.

How much does it cost?

Anyone who signs up to our free plan gets one free Snitch and access to standard intervals (hourly, daily, weekly, monthly). You can upgrade to any of our paid plans for more Snitches, enhanced intervals and other premium features.

Who are you?

Dead Man's Snitch is a product of Collective Idea, a software development & consulting company based in Holland, Michigan.

We use Dead Man's Snitch for our own clients every day. We're building it to be a service that we want to use, and hope you will too!

Creating a Snitch


How do I create a Snitch?

  1. Log in and click "Create Your First Snitch"
  2. Give your Snitch a name (Nightly Backup, Data Import, Monthly Invoice, etc.)
  3. Choose an interval. This is based on how often your task runs. If you have an hourly task, then choose hourly. If you have a task that runs every six hours, round up to Daily.
  4. Type in an email address that you would like to be alerted at should your task fail. If you leave this space blank, your Snitch alerts will be sent to the email you used to sign up with. Click "Save".
  5. The next page displays your unique Snitch URL in the blue box followed by examples of how your Snitch can be used. For each Snitch you create, a new URL will be created. Simply curl the unique Snitch URL after your task (as shown in the examples).
  6. To tell your Snitch to start checking, hit the URL. You can manually hit the URL by pasting your Snitch URL into a browser window and hitting return.
  7. Refresh the page. The box next to your Snitch should be green.
  8. That's it! If your process fails to run, Dead Man's Snitch will email you.

How should I choose an interval?

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 Dead Man's Snitch interval. For example, if you have a job that runs every six hours, choose daily.

How do intervals work?

Intervals are how we know how often to check to make sure your job checked in. At the end of the specified period of time, Dead Man's Snitch looks back to see if the job checked-in during that period. If it did, great. If it didn't, you'll be alerted.

The time we check up on your Snitch depends on the type of alert you select. There are two types currently available, Heartbeat and Smart. Heartbeat Alerts use fixed windows of time based on the interval you choose. You'll be alerted at the end of each interval if something went wrong and the Snitch did not check-in during the interval.

Interval Alert Time Cron Schedule
1 Minute 0:00, 0:01, 0:02, 0:03, 0:04, 0:05, etc... * * * * *
2 Minute 0:00, 0:02, 0:04, 0:06, 0:08, etc... */2 * * * *
3 Minute 0:00, 0:03, 0:06, 0:09, 0:012, etc... */3 * * * *
5 Minute 0:00, 0:05, 0:10, 0:15, 0:20, etc... */5 * * * *
10 Minute 0:00, 0:10, 0:20, 0:30, 0:40, 0:50 */10 * * * *
15 Minute 0:00, 0:15, 0:30, 0:45 */15 * * * *
20 Minute 0:00, 0:20, 0:40 */20 * * * *
30 Minute 0:00, 0:30 */30 * * * *
Hour 12:00, 13:00, 14:00, 15:00, etc... 0 * * * *
2 Hours 12:00, 14:00, 16:00, 18:00, etc... 0 */2 * * *
3 Hours 12:00, 15:00, 18:00, 21:00, etc... 0 */3 * * *
4 Hours 04:00, 08:00, 12:00, 16:00, etc... 0 */4 * * *
6 Hours 00:00, 06:00, 12:00, 18:00 0 */6 * * *
8 Hours 00:00, 08:00, 16:00 0 */8 * * *
12 Hours 00:00, 12:00 0 */12 * * *
Day Midnight UTC 0 0 * * *
Week Every Monday at Midnight UTC 0 0 * * MON
Month Midnight on the 1st of each month 0 0 1 * *

Smart Alerts learn from your Snitch's behavior. After a few consistent check-ins, we will start shifting the time we check up on your Snitch so you can be alerted as soon as possible if something goes wrong.

Smart Alerts for weekly and monthly Snitches are available on all paid plans. Intervals down to hourly require the Surveillance Van plan and up.

Does it matter when I ping a Snitch?

If you have your Snitch set up to use Smart Alerts, then you’re all good. We’ll pay attention to when your Snitch receives check-ins so you can be alerted as soon as possible. Smart Snitches work best when the job runs (and checks-in) once per interval.

Since Heartbeat Alerts use fixed windows you will be alerted faster the closer your job pings to the end of each interval.

Is there a way to find out more information about my Snitch's check-in other than if it went missing or not?

Why yes! Error Notices, which are available on the Surveillance Van plan, will catch and then notify you of any errors that occur on your end even if your job checked in on time.

If your plan supports Error Notices, just tell us the exit status of your job after every run. (Note: If you're using Field Agent, the status code is automatically sent for you)

Terminal
run_backups_or_something; curl https://nosnich.in/c2354d53d?s=$?

You'll receive a notice if your job reports an error (represented by an exit status other than 0) or if your job goes missing and fails to check-in.

Where are alert emails sent?

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 default back to your account sign-up address.

Can I send alerts to more than one email address?

Yes! You can send alerts to multiple emails by separating them with commas. Any email already affiliated with the account will autocomplete to prevent accidentally mistyping an address.

How can I check the status of my Snitches?

The badge next to your Snitch on your dashboard indicates its current status. If the Snitch URL hasn't been hit yet, the badge will be gray. The badge will turn green after a check-in by hitting the Snitch URL. If the Snitch has missed a checked-in the badge will turn blue. A Snitch that is paused will be yellow.

Your Snitch dashboard is also available with the Dead Man's Snitch app for iPhone or Android ! Upgraded users have the option to receive Push Notifications when jobs fail.

Can I rearrange Snitches in my dashboard?

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.

How do I tell a Snitch to start checking?

After you create your Snitch and curl it after your task, simply hit the URL.

How do I unpause a Snitch?

Snitches are automatically unpaused when they are pinged.

Why do I have to hit the URL to start or unpause the Snitch?

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.

How can I test that my Snitch is working?

Just hit the URL manually and then wait. We 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 Dead Man's Snitch dashboard and you should see a green badge next to your Snitch indicating that it's working.

When will I receive emails?

  1. Three days after creating a Snitch if it hasn't moved from pending. This is to make sure you know it was never pinged.
  2. If a Snitch is paused for more than three days. This is to make sure you know it's still paused.
  3. Around :01 after every hour after a completed period in which the Snitch wasn't pinged. For example, if you create an hourly Snitch and hit the URL for the first time at 1:55 p.m. and your job hasn't been pinged between 2 and 3 p.m., you should receive an alert around 3:01 p.m.. If you create an hourly Snitch and hit the URL for the first time at 1:10 p.m. and your job hasn't been pinged between 2 and 3 p.m. (the first completed period after the URL was hit), you should receive an alert at 3:01 p.m. You will receive one email per failed period until it is paused or pinged again.
  4. Per failed period until a Snitch is paused or pinged again.
  5. Immediately after a Snitch begins reporting again.

Do I have to use curl?

No! Any language's HTTP library will work. Just send a request to your unique Snitch URL. If you send a message in 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:

Terminal
https://nosnch.in/c2354d53d2?m=just+checking+in

Cases


How do I change a Case / Project's name?

  1. Click on the "Billing" tab for the Case
  2. Enter the new name in the field near the top of the form
  3. Click on "Update" next to the field

How do I delete a Case?

  1. Click on the "Billing" tab for the Case
  2. Scroll to the bottom of the page and click "Delete Case"
  3. Enter your password to confirm the deleteion
Deleting a Case will immediately delete all associated Snitches and other associated resources (api keys, integrations, etc...). Deleted data remains in backups for 30 days.

Miscellaneous


How long do you keep data?

We keep two years of history for all Snitches.

We will also automatically pause any Snitch that has been missing for the entirety of the data windows defined above. How do I unpause a Snitch?

Why is everything in UTC?

We tried making everything in the user's timezone, but then it led to second-guessing what was going on. Since our audience is made up of developers and sysadmins and we are always thinking in different timezones, we decided to use UTC.

How do I change my account email address?

  1. Head to your account page
  2. Type in your new email address
  3. Confirm your changes by typing in your current password
  4. A confirmation email will be sent to your new email address
  5. You must confirm the email before you can log back in

How often can I check-in with the Snitch?

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.

Does it check to see if less than an hour, day, week or month passed between pings?

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.


Can't find the answer to your question?

Send us a direct message by clicking on the ? (when logged in) in the bottom right-hand corner of any Dead Man's Snitch page. We're always ready to help! Questions, comments or feedback? Email us at hi@deadmanssnitch.com

Back to top