Ask HN: large system monitoring
I'm an admin at a fairly large company with plenty of database servers, virtual machines and all kinds of custom distributed software that processes a lot of data. I'm interested to hear what others are using for monitoring large systems. What kind of system did you put in place? How do you process logs, events, hardware and software failures etc. Do you use a proprietary system or something you have built yourself?
(
13 comments
| 11 points
| on HN
)
To learn about and fix these problems before the customer, some interns built a scheduled web site poller that would check the response for error codes and timeouts, push the status to a database and send an email to subscribers.
They built it, knowing very little about programming or anything, in just a few weeks and reduced our customer calls dramatically. We were aware of the problem and resolved it reducing customer complaints substantially!
Anyway, that kind of thing is very easy to build, just go do it. Monitor at the application level for failures, most errors at the infrastructure level bubble up anyway so you can catch them at the end point.
Now, if you want to do scalability projections or monitoring of non-web apps, this won't help...
Generally what is out there is either
a) long term graphing and trend analysis (that lets you determine that you will need more disk space in 3 months) or
b) watching for a service to go down, in which case you send an email or SMS.
We also use monit to monitor and restart processes under Linux. It is great for handling a couple of services which leak memory and need to be restarted periodically.
I also use capistrano's command: "cap shell" to easily type the same command on all the servers.