top | item 7545476

Dead Man's Snitch – Monitoring for Scheduled Tasks

94 points| xmjw | 12 years ago |deadmanssnitch.com | reply

38 comments

order
[+] petercooper|12 years ago|reply
I don't know if this is what lead to this going up, but patio11 mentioned this service the other day in his epic post about Tarsnap: http://www.kalzumeus.com/2014/04/03/fantasy-tarsnap/ .. he uses Dead Man's Snitch to ensure his backups continue working (or more accurately, to notify him when they don't!)
[+] ralfn|12 years ago|reply
Nice branding. Most monitoring tools are overly complicated, both in their features as well the use-cases they try to cover. I like the clear focus of this; the product itself doesn't require one to invest a lot of time, which is a good thing.

Just some questions:

- how do you prevent unauthorized snitches from screwing with your data? Wouldn't it be wise to limit a snitch to a certain server ip?

- why only an iOS app? This excludes lots of potential customers (including me).

- why not offer an API, so we can securely fetch the status of our snitches?

I like the singular focus. Some people don't want very complicated feature rich monitor systems. I can imagine using a solution like this, esspecially in those cases, where more feature rich monitor systems are not being considered.

Yet, you offer a pricing model that suggests something completely different. That you are a very complicated feature-rich monitor system. The value you provide at each price point is simply not warranted.

I doubt this will have a large uptake, but if it does, i'm the first one tempted to compete. The required architecture is not complicated enough to warrant such high margins on such low costs. Cloud providers, even the budget ones like DigitalOcean, could easily offer something like this for free to their customers.

Now, you could argue that the price includes high quality support. But that's the not the audience of such a singular focus tool. If i need support, i'm obviously spending enough time interacting with it, that i would be better off with a more feature-rich monitor system. (which are available at similar price points)

Who's going to pay 600 dollars a year for 300 snitches? To build this at scale may take more effort, but from the perspective of your customer .. wouldn't most of them be able to build something like this for internal use in a single day? There are open source solutions with more features you can install with a single command.

I'm just wondering: but wouldn't you have much more customers, and hence, more profit, if you would provide 500 snitches at 100 dollars a year? Or alternatively, offer the service for free, but just charge for the apps yearly? In the end, a single snitch will do at most 24 empty GET requests a day, where you store a timestamp. A single VPS should be able to handle 10k snitches easily. (less than 3 requests per second)

[+] jameskilton|12 years ago|reply
One of the developers here. Glad you liked the branding! As you've mentioned, our goal is to stay stupidly simple to use. We want users to forget we're even here, until something isn't working. Now as for your questions:

> - how do you prevent unauthorized snitches from screwing with your data?

We don't currently have such protections in place basically because it hasn't been necessary. We keep an eye on things and if we start to see such traffic we'll investigate what should be done at that time.

> - why only an iOS app? This excludes lots of potential customers (including me).

Time and customer requests. We've started looking into building an Android app and glanced at Windows Phone as well. That said, mobile apps aren't required to use DMS, the default is to send emails.

> - why not offer an API, so we can securely fetch the status of our snitches?

We have actually just started rolling out a new API! If you're interested in helping us beta test this, get a hold of us at [email protected].

As for pricing, plans are built around the peace-of-mind our product offers customers. Our canonical example is an ops engineer needing a backup only to find out that backups haven't worked for the past weeks/months/etc. At that point the cost of DMS is a pittance to what the lack of backups just cost the company in question.

[+] struppi|12 years ago|reply
You do realize that 600 dollars a year is next to nothing for a business? I don't even run a business, I am just a freelancer, but I'd happily pay 600 USD/year for this service if I needed it.

The price doesn't make a real dent in any serious budget, so why bother? And 600 dollars is really cheap compared to anything that could happen when you miss an important event. Email campaign not sent? This could cost thousands of dollars or more. Backup not done? Could be millions of dollars for some kinds of businesses.

I think the service is priced reasonably. If you think otherwise, start a competitor. If you can convince me that your service will reliably mail me on incidents no matter what catastrophe happens to your data center, I might use it over theirs (Should I ever need such a service. As I said before, I don't need it right now.).

[+] samcrawford|12 years ago|reply
Small gripe, based upon prior painful experience... you should always set a timeout on curl requests (or any others for that matter). There's not one by default!

It's -m <seconds> in the curl command line client.

[+] jameskilton|12 years ago|reply
Good point, we'll make a note to include this in our documentation!
[+] bowlofpetunias|12 years ago|reply
Been using DMS for over quite a while now. It is an absolute must-have for anybody depending on scheduled tasks, and I haven't found anything like it.

And it's so cheap that there is no reason not to do it.

My only gripe is that I can only get alerted via email, which is the most often overlooked channel. I've hooked those emails up to HipChat, but some direct options for services like HipChat, Pagerduty etcetera would be nice.

[+] ralfn|12 years ago|reply
Doesn't it do push notifications on iOS?
[+] mpclark|12 years ago|reply
As an aside, does anyone make a cron panel for humans? I'd find that really useful as I'm usually so busy being distracted by the next big thing that I forget to take care of repetitive tasks.

I know I can achieve something like that with my Google Calendar but I don't like the way repeating events fill it up -- it would be better if they just showed for the next occurrence.

[+] icebraining|12 years ago|reply
Why not make a second calendar in GC, put the repeating events there (with notifications enabled), then hide it from the main view?
[+] gtCameron|12 years ago|reply
I use FollowUpThen - https://www.followupthen.com/

It does a lot of stuff, but I have it email me every Thursday to remind me to take the trash to the curb. Its just an email, not a calendar alert, but it keeps the clutter off the calendar and I usually see an email within a couple hours anyway.

[+] kareemm|12 years ago|reply
Been using DMS for years now (it was recently bought by Collective Idea). Love it so much that I'm on the testimonials page.

The reason we started using it is because it's hard to notice the absence of an email alerting you that job xyz is complete. E.g. when our nightly backup would complete, we'd get an email. We'd also get N other emails nightly emails about other tasks that would run.

On the rare occasion that e.g. backup wouldn't complete it would be really tough to notice that you didn't get the email.

What you really want is to hear nothing UNLESS something goes wrong, which DMS makes happen. Love love love it.

[+] apinstein|12 years ago|reply
Nice job! -- we actually needed this so badly a few years back that I wrote a simple app in a day to do this myself, though it's not very robust. I am actually surprised it's taken so long for someone to offer a SaaS version. Your pricing is so reasonable that I'd switch to your app if you could just flush out one more feature.

I actually don't want another app for reporting. I already use a monitoring service (pingdom) and would prefer to keep all of our "alerts" organized through a single service.

Could you offer a http-based public status page? Our system allowed each snitch to be tagged with a tag like "net.tourbuzz.db.replication.upToDate" and then a url like http://foo.com/deadoralive?filter=net.tourbuzz would allow us to use a single Pingdom monitor to alert us if any of snitches in that namespace failed.

This is a simple tagging structure that makes it easy to organize large numbers of snitches into manageable groups and easily integrate it into existing monitoring/alerting infrastructure.

Feel free to email me directly if you want more info.

[+] mrmondo|12 years ago|reply
Looks very interesting, but unless I can host it myself it's a no-go for me.
[+] bowlofpetunias|12 years ago|reply
Uhm, the whole point of services like these is that they are external and not tied into your own hosting.

Also, it knows absolutely nothing about your services and doesn't require any level of access. All you do is ping it.

[+] rhoml|12 years ago|reply
So, in case you didn't notice. This can be a way to let others take care of notifying you when cron's fail so you can focus on more productive tasks.
[+] genericacct|12 years ago|reply
I can set it up for you on your *ix machine in an afternoon for $200 :)
[+] mmelin|12 years ago|reply
Looks pretty cool! You should really rework the Plans page. At first I didn't realize there was more content below the "Free" plan, because I'm on a 13" OS X machine so scroll bars aren't visible by default.
[+] KaiserPro|12 years ago|reply
as much as I hate to admit it, jenkins makes a superb replacement for cron.

It keeps a history, has excellent error handling capabilities, and can scale quite well.

also the integration with git and the like makes updating jobs super easy.

[+] khill|12 years ago|reply
Hudson/Jenkins works well for us. We've moved all our scheduling jobs out of cron and other uglier options (like maestro) into Hudson.

In addition to sending emails when things break, it can also post to our Twitter feed and send SMS alerts.

[+] cjjuice|12 years ago|reply
I like it. Pricing seems a bit high though. Development wise this is a 1-2 day project.

I can't see myself spending much on something I could roll my own version of in a day or two.

[+] lifeisstillgood|12 years ago|reply
So instead of MAILTO=sendmail I use MAILTO=http://deadmandssnitch/report or similar?
[+] peterwwillis|12 years ago|reply
That would actually be more stable, since it would rely on a network designed for fault-tolerant redundant store-and-forward messaging.

Instead, each cron job runs an HTTP GET, and later you can view the service's website to see the tests that have requested successfully or haven't responded at all. Unfortunately for your system, if there's a network hiccup, you won't know why your jobs failed and the job will hang on the HTTP call. Also, you're paying for it instead of just sending e-mail alerts to yourself.

[+] jameskilton|12 years ago|reply
Actually something like:

0 6 * * * /bin/sh my_cron_job.sh && curl https://nosnch.in/abc123

Then, when my_cron_job.sh fails (non-0 exit status), no snitch is triggered. DMS notices this hole and notifies you that the job did not run.

[+] spncr2|12 years ago|reply
the referral features is nice though. Free snitches for every person you refer.