5 ms·
Ask HN: Please review my app: Was it up? - dead simple monitoring
- chanux 17y agoGood idea. Neat implementation. Kudos!
- Sidnicious 17y agoTiny UI gripe: If I select one of the contains/doesn't contain radio buttons, there's no way to go back to "neither". Nothing selected is also a forbidden state for radio buttons. There needs to be a third choice.
- andhapp 17y agoOne thing that I spotted. The validation error messages cover the Was it up? logo on the right. Perhaps move the error mesages on the left.
- uggedal 17y agoI agree that it's not optimal to cover the logo. The problem with moving the error messages to the left would be the increased total horizontal with of the page. I don't think I'd go wider than 1024px as I'm mainly using a low resolution netbook at home.
- uggedal 17y agoI created this service mainly as an exercise to help me learn more about distributed applications. Behind the simple interface sits a multi-node setup with multi-master replicated Tokyo Tyrant instances for persistence. I'd appreciate any suggestions or improvements.
- invisible 17y agoFor one, you should mention on the front page a) 15 minute poll-times (then also say "with optional upgrades"), and b) multi-node checks to ensure you know when you are really down.
- dzlobin 17y ago"with optional upgrades" there is your revenue model :-)
- joshuarr 17y agoI'm trying it out. I love it so far. Couple ideas for paid features: - A chart showing uptime vs. downtime. I just like charts. - Ability to display server details like host etc. - Optional notifications via cell phone text - Ability to auto-notify hosting service via email of the downtime.
- uggedal 17y agoGlad you're liking it. I have most of these features written down as possible improvements and/or premium features. But it's good to get some validation of my own crazy ideas.
- joshuarr 17y agoI'm getting a lot of error notices of no response before five seconds, then immediate error resolved. Not sure what this indicates. As I'm just a designer, I don't know if this is a problem or not. I'm at the point where I ignore all the notices. So now if it did really go down I wouldn't believe it.
- uggedal 17y agoThanks for the feedback. I'll probably increase the max timeout.
- icey 17y agoI've been working on something similar to this in my free time; yours is very nice :D The only thing that I looked for that it doesn't seem that you've got right now is the ability for me to see the sites that I have registered - it'd be nice to be able to enter my email address and have the site tell me that you're monitoring x, y and z for me. How frequently are you polling?
- uggedal 17y agoIf you register a site you'll get an email with a link to a settings page which lists all your subscriptions and offer one-click unsubscribe. For now I only allow one site per email though. The plan is to offer several sites per email and lower poll intervals for a small subscription fee in the future if there is any demand. I poll every 15 minutes. I should probably mention that somewhere for the technically minded.
- brown9-2 17y agoI would suggest that you don't tie the ability to monitor multiple sites with one email to a subscription fee - since that would be so trivial for people to get around for free.
- icey 17y agoYou may want to change the verbiage of the email - it looked like it was just an unsubscribe link to me. I wouldn't have clicked it at all except for the fact that you just said it would take me to a settings page. (Right now it just says: "To unsubscribe from this service, go to: <link elided>")
- datawalke 17y agoVery nice, pretty straight forward. The error messages are somewhat oddly placed, but overall good job!
- jasonlbaptiste 17y agoI've actually been looking for something for this for a while. Very cool app!
- notauser 17y agoI have been using Server Density (which is also free for one host - and more comprehensive in what it does) but this is much easier. Good stuff!
- niks 17y agoI have a couple of websites but one primary email account. So when I tried to add the second site I got this message: "We only allow one monitoring per email." Is there a specific reason for that? I'd like for all my sites to come to one email since its the only one I check regularly. Other than that I really like it. Super simple and easy to use. good stuff.
- peoplerock 17y agoOnly one email acct? They're free at so many places. I have several (to go with different identities) that all fwd to one location. So for this app I would use * mysite1.com@mymaindomain.com -> to mymaindomain@gmail.com * mysite2.com@mymaindomain.com -> to mymaindomain@gmail.com * mymaindomain@mymaindomain.com -> to mymaindomain@gmail.com
- niks 17y agotrue, but I think you missed the my point. Because the site is so easy to use don't make me do all this work to use something so simple. just enable multiple sites / email and i'll be happy as a user because it solves my need in 2 steps.
- chanux 17y agomyemail+mysite1wasitup@gmail.com works :)
- jmonegro 17y agoIf you're on gmail, you can place a dot on any part of the username, and it will redirect to your account. For example, johndoe@gmail.com john.doe@gmail.com j.ohndoe@gmail.ccom etc. all go to the original johndoe@gmail.com, but pretty much every website will interpret them as different emails.
- uggedal 17y agoOn gmail you can also use a plus sign after your username: yourname+spamsignup1@gmail.com
- access_denied 17y agoI was too lazy, but the idea is cool. If hassle-free this is something I would pay for (1 thing cam to mind: how can I trust your site is always on? explain this to your prospects).
- TheSOB88 17y agoDoesn't need to be a site, just a service running on a machine. How can you ensure that machine is always connected to the Interjob? Well,
- uggedal 17y agoActually, as of now the site itself (HTTP) is not redundant. It could be by using DNS for failover to a slave host or some kind of heartbeat setup. The data is replicated, so the problem is just sending you to the right host when you type in http://wasitup.com http://wasitup.com in your browser. The monitoring backend on the other hand is redundant (or as redundant as I feel is needed for a free service).
- ooorrr 17y agoThis looks great - perfect for the site that doesn't need 1-minute monitoring. Montastic has been ok for this purpose but I'm happy to try something else. My feature request - 140-character SMS messages when you're down.
- uggedal 17y agoThat could be a possible feature for paying customers. I'm not shelling out lots of money for a good international SMS broker before I know that it can break even. For now you can use your mobile provider's Email-to-SMS gateway (if such are provided).
- petervandijck 17y agoAwesome.
- colbyolson 17y agoLooks great, I love the simplicity. Although you chose an interesting color scheme. How are you determining when a website is down? What are you using to create the error message on the right? What's your website running, if you dont mind me asking. Python? Ruby? On a side note, your blog is just as beautiful as your app. Kudos.
- uggedal 17y agoGlad you liked both the app and my blog! A website is down if it does not return a 200 OK HTTP status code and if the response body does not contain the text provided at registration (if such were provided). The error messages to the right are rendered out in a normal unordered list below each input. On document.ready they are retrieved with JavaScript, hidden, and copied into tool-tips provided by the BeautyTips jQuery plugin (http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html http://www.lullabot.com/files/bt/bt-latest/DEMO/index.html). The entire service is coded in Python. The website is running Werkzeug (http://werkzeug.pocoo.org http://werkzeug.pocoo.org) on mod_wsgi inside Apache with Nginx as a proxy and media server in front. Jinja2 (http://jinja.pocoo.org/2/ http://jinja.pocoo.org/2/) is used for templating both the web pages and the emails. WTForms is used for form handling and validation (http://wtforms.simplecodes.com/ http://wtforms.simplecodes.com/). All data is stored in Tokyo Cabinet trough the Tokyo Tyrant network interface set up with multi-master replication. Fabric (http://www.nongnu.org/fab/ http://www.nongnu.org/fab/) is used for deployment and other kinds of distributed automation.
- heyitsnick 17y agoLove it. Minor suggestion - in the email, change the text in the email from "To unsubscribe from this service, go to:" to something like "To manage all your monitorings, or unsubscribe, go to:". It isn't clear this link does more, and I wouldn't have thought to click on it as it may unsubscribe me without confirmation (until i read your comment above about a link showing you a full listing). From that listing page, would be nice to be able to add another service, or at least a link back to the homepage to add another.
- uggedal 17y agoImplemented both. Appreciate the suggestions. Gotta love one command deployment with fabric;-)
- xinsight 17y agoI wrote a similar tool for monitoring my own servers. Besides being "up", I find that it's important to track slow responses (>10 secs) and to differentiate between DNS problems and web server problems. (I also find that it's useful to check for load, disk space, mysqld is responsive, etc. but that's would take away from the elegance and simplicity of this tool.)
- uggedal 17y agoI close the socket of the connection after 5 seconds. That should identify problems with slow responses. In the notifications that are sent I differentiate between responses that are not 200 OK or matches your criteria, problems with getting to the server (DNS), and problems with parsing the response. Within these three categories I also give additional info (HTTP status code returned etc). Thanks for the feedback,
- cschneid 17y agoOne trick we use for our applications is have an url endpoint that checks for db connection, filesystem, etc and formats it in a human readable and machine checkable format (ie. "Load is OK at .4 .4 .4"). Then you can use a similar "request contains" check to make sure everything is up.
- madebylaw 17y agoNice UI. Seems similar to pingdom.com, so you could check them out for feature ideas, etc.
- qeorge 17y agoThe "contains / doesn't contain" feature is a killer, great work. I've been wishing someone would add that for quite a while. One thing, under the 3rd input the text reads: "We only send email when your site goes down. 2 click unsubscribe." That last bit doesn't make sense.
- uggedal 17y agoThe contains/doesn't contain feature was inspired by all the badly implemented sites I've seen which does not care to return proper HTTP status codes. I actually meant to implement regex matching as well, but sadly such a feature would be hard to protect against pathological DOS attacks. The "2 click unsubscribe" part was meant to convey the ease of deleting the monitoring subscription if you for some reason would find them bothersome. Why did it not make sense to you?
- roryokane 17y agoI understood it when I read it, but now that I look at it, I can see why it might be confusing. Someone could think it is saying "To click, unsubscribe" in IM-speak. Maybe it should be "Two-click unsubscribe."
- qeorge 17y agoA combination of the sentence fragment, and thinking it might have been IM speak as roryokane suggested. "2-click" instead of "2 click" would do a lot to clear that up. I definitely didn't pick up what you meant, but now that its been explained it seems obvious. For maximum clarity, I would change it to: "We only send email when your site goes down. Unsubscribe in 2 clicks."
- diN0bot 17y agoi actually don't understand this feature and would have liked some explanation. do i provide a regex that should match the http response? or do i provide a header code or tyep?
- uggedal 17y ago
- ooorrr 17y agoOne other suggestion - One problem with these sorts of services is that when they're working, nothing happens, so if I don't get mails for a week, I don't know if that's because everything's been working or if you've stopped running the service. There are lots of complex answers, but an easy one is just to have a "last checked" for each URL - it's ok if I have to go on-demand to make sure things are running. (A weekly/monthly update is nice too, just more work.)
- robotrout 17y agoExpanding on that idea a little. Store the proof of operation on the clients own server. Let them enter a url to a script on their own server, that you will POST to, whenever you check their server. The user can log POST's to a text file, DB, etc., so they know that you are actually monitoring them. When they see that you haven't POSTed to that file for a while, they know you're out of business, and they are unprotected. On second thought, make it easy on yourself, and use GET. It's not like there's anything confidential about it.
- uggedal 17y agoI've been thinking of implementing webhooks as an additional form of notification, but not as a a presence mechanism. I like the idea, but given the simple nature of the service I'd have to give it some thought before implementing something like this.
- uggedal 17y agoI'll give the "last checked" idea some thought. I'd need to store some additional data as I'm currently storing only abnormal behavior. Regarding the weekly/monthly update: this is something I'm averse to. Other services do this and it kind of bugs me each time I get these.
- ooorrr 17y agoI'm with you. I think the simplest solution is best here. I do expect you'll run into scenarios where last-checked-time will be data you'll want anyway...
- huhtenberg 17y agoDo you uniquely identify your polling agent to the server being polled ? Do you check for robots.txt ? If you don't, you should in case if people are trying to monitor sites that are not theirs.
- uggedal 17y agoI send the following user agent sting: "Mozilla/5.0 (compatible; Wasitup monitoring;http://wasitup.com) http://wasitup.com). Checking the robots.txt file on registration is on my TODO list.
- drewp 17y agoI don't love it. The users of such a site want to use your UI as rarely as possible, but be full of trust and understanding of what it's going to do for them. Before I'm going to do anything, you need to tell me about the requests you're going to make (frequency, user-agent, robots, etc like other people have pointed out). Then I want to know about your own server's reliability. There are no clues at all that you'll be around even for a week. One way to improve this would be to offer an optional RSS feed that has a post every day that my site is up. That way I would know your server hasn't stopped completely, but you aren't blasting me with emails. Or just decorate your page in a way that makes me think you have some reason to keep your own system running. I am using a free competitor (http://www.aboutmyip.com/AboutMyXApp/Watchdog.do http://www.aboutmyip.com/AboutMyXApp/Watchdog.do) which sends me periodic uptime reports. I don't remember their setup UI being any more difficult than yours. Maybe it was, but I certainly don't remember! That's the nature of this app-- people almost never interact with it. Clearly on aboutmyip, they have several other things going on that could pay the bills.
- uggedal 17y agoYou are spot on regarding the lack of explanation of how Wasitup goes about monitoring your site and why it won't miss a tragic downtime on your site. I'll probably add info about my polling interval and the distributed nature of the back-end. Currently it's only distributed within the same data center (on separate racks and power mains). I was meaning to make it geographically distributed across different providers (to be better protected against large DDOS attacks against all data centers of a single provider). Sadly I've not had the time to do this yet and decided to just "launch" it anyway as it has been to long in the making already. I really like the idea of the RSS feed to give some peace of mind to users. Thanks for that! I might implement such functionality soon.
- moomerman 17y agoHey, we both seem to have the same values in simplicity as I've just launched an alpha of http://nimbu.net/ http://nimbu.net/ (dead simple website monitoring) - I like your easy signup process
- gmac 17y agoI really like the idea here, but I've encountered a problem using it. I think all emails from the service must be getting spam-filtered before they reach me. Because (a) I've never had an email with a settings link, like the one discussed on this thread, and (b) I've not been notified when my site has been down (which, recently, it has). I know I entered the email right: when I enter the same email and URL, I'm told the URL is monitored for that email. And I can see your hits in my Apache logs every 15 minutes. Obviously, my spam filters are not your fault, but they do create an annoying problem: (b) means the service is useless for me, and (a) means I can't cancel it! So it seems I'm obliged to take 4 pointless web site hits an hour forever (short of blocking you with iptables or some such). One way round this might be for you to require people to click a link in a confirmation email in order to start monitoring, but obviously that does add a precious click to the sign up process.