A New Approach to Uptime Monitoring

Posted by David Estes on Mar 17, 2015

Filed under Grails, Logging, Groovy

People have soooo many websites these days. From your simple mom & pop marketing site, CRUD App, all the way to the full fledged trendy Microservice architecture. And, if you're smart, you at least have some form of uptime monitoring on all these websites. Be it, pingdom or uptime robot or new relic, or app dynamics. Who knows, there are definitely a lot of options out there. Some are super cheap, and some are super expensive. With the rapid growth of the number of web apps being managed by single teams of people or even big corporations we thought it necessary to revisit how uptime monitoring was structured and what was being monitored. After months of hard work and involvement, I can finally introduce you to Happy Apps.

What's so cool about it?

There are so many cool things going on with happy apps right now its going to be hard to even cover them all in this blog post. We'll start with a very common one that we know bugs the wielders of Nagios alarms. Ever have an outage of your web app cause a bombardment of your inbox. Annoying right? Happy Apps allows you to heavily customize notifications for both SMS and Email. Not only does it allow this, but it groups checks of the same group or app together into a singular incident, reducing the amount of nagging emails you get as a result. Incidents can be categorized by severity and app. You can even maintain a live chat about your incident and keep a permanent log of how it was resolved.

Sooo many Check Types

Happy Apps does a whole lot more than a simple web check. There are so many different check types to choose from and more coming out all the time. We can even check the health of your databases. At the time of this writing we support checking Web, Redis, ElasticSearch, MySQL, SQL Server, PostgreSQL, RabbitMQ, Riak, Mongo, and TCP Socket. And, they do a whole lot more than just tell you if the servers are up or not. We can collect stats relevant to each check type and display those on the check detail page. Things like , memory used, number of slow queries, storage free, key count, document count, queue size, and much more. Even cooler, for most check types you can configure these alarm threshholds. Want to be alerted if your queue grows beyond a certain number? No problem! Of course people dont typically front these services to the public internet. So we support SSH tunneling for every single check type as well as running a single agent inside your firewall if you so choose. To see the power of these groovy backed check agents you really should try them out.

App Heirarchy

I covered this a little bit earlier but I think it merits pointing out. With most services you simply define some checks and get alarms when those checks go down. But more often than not you typically have more than one server behind a load balancer right? So your site may not be actually down to the customer. By using check groups, you can group similar checks together and control how many have to be up to be considered online as a group. Incidents still get opened when a check fails, but their severity is reduced and the overall apps availability is calculated differently. Once you have your similar checks all grouped together, you can then add them to an App. The App is the combined checks of everything that may affect your single customer facing application. It can be composed of dozens, or hundreds of combinations of check types and groups. You can control things like availability impact, severity, while at the same time giving your managers an easy way to understand how a single failed check affects the entire infrastructure of your company.

Status Pages for All

Have you ever wanted a public facing status page to tell your customers about your sites uptime or availability? Sometimes its updated manually because noone has time to focus on building that out. Happy Apps allows you to customize a public status page using Handlebars.js templates! Even control which checks/groups/apps are visible to your customers.

Give it a shot

By using groovy to back our check type infrastructure we are able to add new check types all the time. So check back often or make a request if theres a check type we dont yet support. Obviously there are so many more cool things to check out about Happy Apps so feel free to check out the marketing site here. If you are already convinced of the epicness that is Happy Apps you can jump straight to signing up!. The first 5 checks are free!