I remember an age when checking if the server was running mostly consisted of looking through the glass door to see if the “power on” led was lit and checking if logs were regularly updated on the greenish terminal screen.
But times have changed. Even the smallest projects require publishing a couple of websites or web services. And with the banalization of cloud-computing, your server is no longer sitting next to you. There are in fact chances, depending on where you live, for that server to be on a different continent!
CloudStats is exactly the kind of tool that will keep you informed 24/7 of the state of your infrastructure. CloutStats belongs to the monitoring software family. Basically, it’s a tool that will display a nice dashboard full of green when everything in working properly. And it will send you email, Skype or Slack notification when some service suddenly turns to red.
Monitoring your web and network infrastructure with CloudStats
As of today, CloudStats capabilities are limited to monitor URLs, IP addresses, and Servers.
- URLs monitoring is performed by regularly sending GET requests on your HTTP server;
- IP addresses monitoring is performed by sending ICMP ECHO requests (“ping”);
- and finally Server Monitoring is performed using a custom probe software to install on your Linux or Windows Server.
That later is probably the most sophisticated service monitor provided by CloudStats since you can trace many characteristics of your server (memory, CPU usage, processes activity, … ) Or even push custom status from the server through the CloudStats service API. Really a nice way to create your own probes for some specific software or needs.
What makes CloudStats different from other solutions is the software itself is running “on the cloud”. Beside the probes on your servers, you have nothing to install on your own systems to monitor your infrastructure. The provider’s hosts regularly monitor your infrastructure. And you access the services by pointing your favorite browser on the CloudStats web application. Simply said: no need to install yet another server for that purpose!
How does that compare to other products?
Making the comparison with a product like Nagios wouldn’t really be fair. CloudStats is a relatively new product. Aiming at small- to mid-sized infrastructures, and really accessible even for the novice administrator. We are probably in every ways at the opposite of an open-source, battle-tested and extremely versatile albeit complex solution like Nagios.
That being said, even if you’re more experienced, sometimes you just want a solution “that works”–and that will not add yet another heavy weighted task to your already overbooked schedule. In that case, too, CloudStats is probably a solution to consider.
As of myself, after having tested it, I must admit I was seduced. Being non-intrusive for URLs and IP addresses, I encourage you to make your own opinion using the 7-days free trial period to monitor your production website and hosts availability. That’s what I did for this review by monitoring some sites I’m involved with: itsfoss.com, yesik.it and chicoree.fr.
About the server monitoring by itself, if you’re reluctant in installing the probe on your production server only for the testing purpose (like I was), I suggest you spawning a pair of virtual servers for your experiments. That being said, from what I saw, installing the probe don’t mess with the server configuration— so removing it afterward shouldn’t be an issue.
The nice thing with CloudStats is you can setup custom threshold alerts. This can be used to send early warnings and then escalate alerts if a problem is the issue persists.
Plans and Pricing
The testing period is quite comfortable as basically, you don’t have any limitations. But after 7 days, you will have to select a plan if you chose to continue with CouldStats. There are currently two plans:
- The “Free Plan”, allowing to monitor 1 IP address, 1 URL and 1 server, and charging $2 per month per extra server
- The “Pro Plan” that will charge you $5 per month and per server.
Calling the entry-level option a “Free Plan” is probably a misnomer since it is no longer free beyond the first server. But it remains nevertheless the most affordable. However, with only 24h of data retention, no custom process monitoring and without remote server console, with that plan, you miss the most powerful features of the product. Speaking of those features, it probably worth taking the time to explain them a little bit more. Especially since they were the most interesting to me.
Custom process monitoring
This feature allows you to publish custom status information from your server. It uses the CloudStats web API to monitor almost what you want.
In my case, I wanted to use that feature with a custom pam_exec PAM rule to monitor login activities on my server. Unfortunately, I wasn’t able to achieve that goal as I had trouble pushing custom data through the web API.
The documentation on that feature is really something that should be improved. I’ve submitted several tickets relative to that on the help desk. But I didn’t receive all the answers I needed before the end of the trial period. So, if you’re interested in that feature, that should be a top priority in your testing list!
Remote server console
Another very useful feature of CloudStats is the ability to send remote commands not only to one server at a time but to several of them simultaneously. On the opposite of the web API, that feature worked great out-of-the-box.
In a business environment, you may have heard about Ansible, Puppet or even Jenkins to manage your server’s configuration or automate deployment. Honestly, we are far from that here. Think more of that feature as a “multicast-ssh”. But this is particularly well suited if you monitor several identical servers. Once again, given the market segment targeted by CloudStats, it is probably sufficient. And I must admit it was pretty cool to “apt-get upgrade” all my servers at once.
Another nice feature of CloudStats is the embedded backup management feature. With that, you can configure automatic backup of the directory you want from your server through FTP, RSYNC or an external storage facility like Amazon S3.
You can schedule what and when to perform your backups. I didn’t find how to trigger automatic restore through. I can’t say if a specific feature is available or if you need to rely on the remote server console to perform that task.
As the last word on the technical side, the agent is a key element of the product to monitor your servers.
I only tried the “Linux” agent. But it is available for Windows too.
The Linux agent installer is designed to handle both Debian- and RedHat-based distributions. The installer script by itself is a relatively simple Bash script and the nice thing is it will take care of installing the required dependencies using your distribution packet manager before installing the agent per se. So you won’t spend any time in doing manual configuration before the agent can run. It seems a must, but not all monitoring software are as user-friendly in that matter!
Who’s behind CloudStats
If you chose to invest in CloudStats, you probably want to know more about “them”.
CloudStats was founded in 2013 and is product/brand of Aqua Networks Ltd., a UK-based company that operates since 2010.
Through their various brand, Aqua Networks provides a broad range of cloud-based services, like database hosting, DB clusters, or bare metal and virtual server rental.
Under the hood, CloudStats is a Microsoft Azure-powered SaaS solution. While doing some researches, I found several mentions specifying “CloudStats [… ] primary focus on SMB clients”. Without I understand exactly how/what it really impacts the product. According to their promotional material, CloudStats claims to monitors thousands of servers worldwide as of 2016.
The strong points of CloudStats are:
- A gentle learning curve
- An easy and straightforward configuration
- User-configurable alerts based on threshold (“send the team a Slack message when HDD occupancy reach 80%”)
- Clear dashboards and graphics immediately available out of the box
- A totally externalized solution requiring virtually no maintenance
On the down side
- The technical documentation has clearly to be improved
- Interoperability through the API could be much better (JSON is not supported in the POST request ?!?)
- Lack of user-defined graphs or actions
- It’s a closed-source product. Even if the product wasn’t open-sourced, disclosing some API and encouraging community-supported plug-ins might create a richer ecosystem around the product, mitigating some of the drawbacks mentioned above.
All that being said, CloudStats seems to be a perfect fit given its target. But maybe you have your own feedbacks and experience to share about that product? Once again, the comment section is exactly here for that purpose!