Periodic task (cron) monitoring
Ability to monitor periodic tasks with a simple HTTP call (like https://github.com/healthchecks/healthchecks, https://deadmanssnitch.com/ or https://cronitor.io/)
ex: curl https://updn.io/9jNKL24

Before this is implemented we can recommend some alternative services:
- https://healthchecks.io (SaaS or open source: https://github.com/healthchecks/healthchecks)
- https://deadmanssnitch.com
- https://cronitor.io
-
jimmie.andersson@gmail.com commented
I have an idea that I think can fit pretty good with your product.
Its more of a new feature, rather than expanding current functionality.Let say you allow us to create a new monitoring, but instead of you checking in on my endpoint ever x second,
I'm hitting your endpoint every x second/minute/hour with a simple http request.The only configuration I would need on your side is
- Name
- Expected interval (seconds)You would provide me a url like updown.io/checkin/uniqueurl
you would log the latest time I requested this URL, and if the timespan from now to latest is bigger then my configured "expected interval", you would treat is as down and send alerts etcIt would be very useful for minor applications/scripts that isn't part of a bigger infrastructure/monitoring solutions.
I have several use cases where scripts are running as cron jobs, but doesn't have any easy way of knowing if its actually running. It would be so easy to just send a request after each successful execution. -
Sorry but I can't give any ETA as this will depend on the time I have and other higher priority task that comes before. If you are hesitating on switching because of this I recommend staying with your current provider until you receive an update on the status of this suggestion. Or be prepared to keep both tools for a while.
-
Carl commented
Hi @Adrien as this is planed, can we get an ETA? This year, next year...? We plan to move our services (40+) from UptimeRobot, but only when this feature is implemented. Thanks.
-
Hello and thanks for your suggestion.
The first option you're talking about where you would "refresh" the up status on your end is actually planned for later here: https://updown.uservoice.com/forums/177972-general/suggestions/5586072-periodic-task-cron-monitoring (under the name "pulse monitoring", "cron monitoring" and various other versions). I am actually gonna merge these suggestions together so you get the updates from the other suggestion and it adds up your vote too.
Also as you said one alternative which is currently possible is to expose a small HTTP/TCP service to the outside for monitoring purpose only and configure this one in updown, some of our clients are doing this to "expose" the status of internal services. But I totally understand if you don't want to do this of course.
In this case what I would recommend would be to use one of the existing pulse monitoring services discussed in https://updown.uservoice.com/forums/177972-general/suggestions/5586072-periodic-task-cron-monitoring before updown implements this, and once we do and if you want to consolidate everything in updown.io it should be easy to switch over.
-
Marl Scot commented
I'd like to be able to create a client that i can run on the local network, that reports internal server status back to UpDown.
I can use the API to send the status updates, but it would be nice to have a way to set a monitor as down if it doesn't receive an update within a set time limit.
E.g.
Internal monitor sends updates every 10 mins about a local web server (that is only accessible from inside our network).
A local network switch dies, so monitor system can no longer send updates to UpDown
No updates received by UpDown in the last 15 mins, so mark that monitor as failed.I know the above could be done by forwarding a port to my internal monitor systems and using TCP monitoring, but would like to avoid that as it always has the possibility of a security failure if someone discovered the open port.
Thanks -
thbar commented
It is still my most wanted feature for updown since 2014.
I need it again and I'm creating an account at https://healthchecks.io, I think there is a missed opportunity (but you know your audience better, just my feeling here!).
It could help people monitor all types of internal operations, from offsite backups to data synchronisation to non-visible servers.
-
Erkan Arslan commented
Suggestion to all users waiting for this feature. Until this is published you can save the date of last successful operation to your database. Create and endpoint. It returns success if date is in allowed interval, error response otherwise. Make updown.io watch this endpoint
-
Thanks for bringing this one to my attention, looks nice. I'm adding it to the list of alternatives in the description too so other people can use it.
-
Arnaud Lapiere commented
https://github.com/healthchecks/healthchecks is open source, as a good starting point
-
Max commented
Especially things like Let's Encrypt renewals (although indirectly monitored through TLS expiry notifications...), backups and the like are tedious to monitor manually. With your credit based pricing this would work really well for me. Most of the existing offers simply cost to much. I run a few small virtual servers and paying a quarter of my infrastructure costs for monitoring doesn't seem right to me.
By the way: I have everything monitored, credits left for two years and already want to throw money at you for being such a great, simple and elegant service.
-
JD commented
Agreed. It would definitely be a welcome addition for our servers in our local network not otherwise accessible. Known as PUSH/heartbeat monitoring as well. GET/POST or even an API call could suffice.
-
thbar commented
Even more important than cron monitoring, this would allow to monitor HTTP servers which are not otherwise visible to updown.io (enterprise servers).
E.g. an Elixir/Rails app would create an internal timer to call updown.io at the agreed rate, and updown would warn us if it wasn't contacted at the expected pace.
This would probably open your product to more enterprisey clients.
Hope you'll consider this!