Whenever you run a professional server, a home server, a hosted virtual server or just a blog on a shared web space, you run a service that provides something useful to your users, readers or whatever consumers your service caters to.
Too bad if things go wrong and you're the last to notice.
Enter Monitis.com*: This service allows you to easily track your servers, websites, blogs or anything else that can be accessed through the internet, or that is able to run a simple agent. Monitoring from the cloud, if you will, at reasonable prices. And if all you need is some basic monitoring, then there's a free version called mon.itor.us, too.
Let's check this out in some detail:
Monitoring Your Stuff: The Options
Ever since I've started to run my own home server, I've planned to write some simple monitoring scripts that would tell me how things are doing: Is the disk space approaching a dangerous threshold? Are my services still running? Can my machine still be pinged or SSHed to from the Internet? In short: Is everything ok?
Same with my blog: Is it always loading correctly? Does my hosting provider keep up with their SLA promise?
There are basically three options to solving this and similar problems:
Write your own monitoring scripts. This should be fun and I always wanted to do that. Someday. You know, when I have the time. After I finished about a gazillion other projects, that is...
Use an existing monitoring package. Nagios seems to be the most popular open source solution. But then, Ben Rockwood wrote a cool review about Zabbix that made me curious. Again, stuff to research, test and try out WhenIHaveTime®. But then: If all I have is one home server, which other server would be able to monitor it? Or does it make sense for my server to monitor itself?
Let someone else monitor your stuff. At the back of my head, I remembered that The Solaris Internals Website said something about being monitored by a company, and I always wanted to check that one out...
So, I was very excited when Anna from Monitis contacted me, asking whether I'd like to try out their service, because it turned out that this was exactly the company that also monitored Solaris Internals, which I always wanted to check out in the first place!
Now, let's dig in:
Monitis: What it is
Monitis.com* runs a web based service that monitors web sites, servers, applications, networks, even cloud services out of one or more locations distributed all over the world.
Users log in to the Monitis web site where they can set up monitoring agents using a web based interface. Agents can be as simple as pinging an IP address or more complex like full page loads or database queries. Most of the monitoring agents don't require any configuration on the thing you want to monitor (e.g. you could monitor you buddy's blog without asking her) but monitoring server statistics requires a simple agent script to be installed on the system (easy Shell script install, available for Windows, Linux, FreeBSD and even Solaris, yay!)
Monitoring agents are highly configurable: You can choose frequency and location(s) from which to monitor, timeout rules, set up more complex monitoring agents like page loads or DB queries and there's a rich choice of protocols that can be used to test the service you want to monitor. A list of features is available from the Monitis web site*. There's also an API and a number of more advanced features like alerts (Email, Twitter, SMS, IM, even voice), SLA metrics, regular email reports, widgets, etc.
Monitis is a paid service with a very flexible choice of payment options: There's a simple 15-day trial period, a basic plan and a "plus" plan. Plans differ by number and kinds of monitors, available locations, number of SMS/Calls for notifications and other factors. If you want more flexibility, then there's also a do-it-yourself modular plan in which you choose the numbers and kinds of monitors you want, then pay on a per-use basis.
There's an impressive list of companies that use Monitis including some big names plus some extra services including customer support, live chat, professional services, downloadable tools, etc.
mon.itor.us: Monitis' Little But Useful Brother
If you can't or don't want to afford the full Monitis service, there's a basic subset of features available for free as mon.itor.us.
This service offers basic tests like checking your website on port 80 or running a simple agent on your server (Windows and Linux only), etc. Frequency, locations and other parameters of the agents are quite limited here and there are frequent nag messages encouraging you to sign up for the real service, but hey, it's free, so there's no reason to complain!
Monitis and mon.itor.us: My experience so far
I've set up external agents with Monitis.com for this blog, the systemhelden.com website and installed an agent on my home server which tracks basis stats such as uptime, load, zpool fullness, etc. I've also set up the same websites with mon.itor.us (unfortunately, Solaris agents are not supported there...)
So far, I'm very pleased with Monitis.com:
The web dashboard is intuitive and easy to use, once you get used to the Monitis concepts of adding agents, contacts, reports and alerts, etc.
It's nice to get regular reports via email telling you how your sites are doing.
I've actually caught a couple of problems already: Recently, there were issues with systemhelden.com due to some spam server activity that I could see in my dashboard as it unfolded itself. Luckily, our trusty provider could resolve those issues quickly. It was good being able to point at the stats and see how events evolved.
I'm also able to see how well my blog responds over the day, and I can track whether my blog's hosting provider is doing their job well or not :).
As for the home server, the stats are quite boring, but that's my fault: It's just there to store data and serve the occasional video to my children. But again, it's nice to see that everything's running fine and be able to point at the data.
I also like mon.itor.us:
The basic stats are enough to tell whether my sites are running or not, which is what most hobbyist users probably want.
The web interface is similar, but not equal to the Monitis interface.
There are some minor things that I'd like to see changed:
The graphical statistics are all Flash based, they should be migrated to HTML5 or server-generated pictures over time. Flash is soo last-decade...
The nag screens and the sorry-we-show-you-this-feature-but-it's-actually-a-premium-one messages in mon.itor.us are a tad too annoying. C'mon, we're big boys (and gals), we know how freemium models work and we can decide for ourselves when to use what pricing scheme.
Solaris and FreeBSD home server users will miss the internal monitoring agents in mon.itor.us. They should be added. The distinction between a premium customer and a free customer should not be dependent on the OS, but on the pattern of use. As a workaround, you can let mon.itor.us ping your server from the outside or monitor one of the supported standard ports if your server is accessible from the Internet.
But these were just some minor issues. Overall, I really like both the Monitis and the mon.itor.us service and can highly recommend both, based on the individual use case:
Who it's for
Everybody who runs IT needs some kind of monitoring. Self-hosted and/or self-made monitoring is one option, but it consumes considerable effort, while not being able to cover all the bases (who's monitoring your monitoring server? How can you monitor external user experience from within?)
Outsourcing your monitoring needs to a service provider therefore makes great sense, and Monitis is a great example on how to do that very well.
In theory, Monitis is a service for everyone, unless...
Who it's not for
If you want to have 100% control about your monitoring methods, metrics and data, or don't feel comfortable outsourcing this kind of data, then you need to implement your own solution, either based on some system monitoring package, or a homegrown solution. (see the introductory discussion above.)
Premium or Free?
The free mon.itor.us service really only delivers some basics. This may be enough for a simple blog or website, but professional users and companies will quickly run into their limits. If you're a hobbyist or a personal blogger, go for mon.itor.us, otherwise...
If you're a serious company, you definitely should go for the real Monitis offering. They have flexible and reasonable pricing options, and there's even a discount offer for educational insitutions plus other special plans, including a building block approach.
Monitis has a feature-rich range of offerings for everybody's monitoring needs, from simple personal blog or home server monitoring to complex setups within bigger IT organizations. There's an impressive set of options that covers almost any typical use case and it's all offered at affordable prices including a free version.
I can highly recommend both Monitis.com and mon.itor.us and I'll continue using mon.itor.us until my budget for this blog (and my other projects) allows me to upgrade to Monitis.
I'm not affiliated with Monitis or mon.itor.us and I didn't get any money for writing this review. I did get access to the full range of Monitis services for testing purposes for 2 months.
Thanks a lot to Anna from the Monits team for letting me use their service and for her patience! Sorry that this review took so long, but I've been moving to a new home which ate away quite a lot of my time...
Your Take on Monitoring
What do you use for monitoring your stuff? Do you use Monitis and do you have other perspectives to share? Or do you prefer running your own monitoring infrastructure? Why? What's your preferred monitoring solution?
Add a comment below and share your monitoring experience!
*Update 2011-05-29: Monitis now has an affiliate program, so I added a few affiliate links. You get some cool monitoring services from the cloud, I get a small payback for hosting this blog, we both win!