Ask HN: How do you monitor several servers?

6 points by drakmail ↗ HN
I'm notice that when I have more than 5 servers need to monitor, I'm periodically forgetting about updating each of them and checking them resources usage.

Seems that Canonical's landscape is pretty good for that, but canonical's support said that payment plans starts from 100 servers =/

If you have 5+ servers – does you use anything to monitor and update all of them? If use – what is it?

14 comments

[ 3.1 ms ] story [ 44.9 ms ] thread
Nagios is pretty standard for monitoring.

Administration is usually custom automation. There are a lot of tools for this, and they all have good and bad, so you should just go with what is most accessible to you.

Yes, I know about Nagios, Zabbix, Munin, etc. But all of them like star ships control panel – has too many options for my needs.

Maybe, it is good way to use one of them, but it so hard to find day for configuration of all of this =)

Give munin another chance, I find it's the easiest to setup from the list.
http://cloudstats.me/server-monitoring/ almost ideal, but has several pitfalls: closed source, $5 for server, and doesn't have package manager monitoring.
heya, thanks for your note, the agent is actually open source. in re package manager, do speak to us in skype, we are pretty open for anything ;)
http://scoutapp.com

Dead simple to install and use. Fancy graphs, lots of useful plugins for monitoring processes.

Using it for more than a year, no problems, responsive support. $15/server/month.

Currently I just use pingdom to check availability, but I'm really interested on other people needs, so I'm more interested on a related set of questions:

What would your ideal monitoring system have? Would it be web based? terminal based? Zero install effort or full customizability? What would you like to monitor? Just monitoring? Alerting too? Just servers or also containers?

My ideal monitoring system must have:

Monitoring:

  - resource usage (hdd, cpu, ram, network, LA)

  - server status (online/offline, uptime, response time?)

  - package manager status (new packages)

  - services status (running/not running, etc)
Notifications:

  - allow to add triggers (with some default triggers: high cpu/ram/network/LA usage (90-100% 5 minutes), high hdd usage, etc.) with notifications through email/hipchat/slack
Server control:

  - restart server?

  - package manager: update packages

  - services: start, stop, restart
It must be web based with zero install effort. I'm doesn't use containers enough, but maybe it will be useful feature.
Last night I grabbed a JavaScript text to speech script http://responsivevoice.org/ and tossed it into my laptops Apache public directory and wrote a few lines for Ajax request to a script I tossed on each server that would just return some status info stuff like

exec('uptime',$response); echo $response;

In around 15 minutes I now have a siri like bot to take with me that will alert me to anything funky which is necessary after a week of some rogue processes.

We use several things including custom scripts to monitor and alert when needed. However our main tool is ipMonitor. We monitor hundreds of servers in multiple environments (dev, test, prod) and the thing that I don't like is all the noise that gets created. It makes it hard to find the real important issues. I believe monitoring is great, but any alert should have an actionable items to perform.
If you're hosted on AWS by chance, check out their "CloudWatch" services. Monitors everything I usually need, sends alerts as-needed, etc.