I am working on a side-project with a few friends and we are almost ready to launch. One thing remaining (and a gaping hole!) is that we don't have any sort of monitoring set up for our VPS instance.<p>We want to monitor things like CPU load, disk usage, response times for nginx, MongoDB load statistics etc. Is there a tool that other startups use and recommend for this?<p>I've looked into Splunk but wanted to see what others are using.
Zabbix can do this with pretty graphs and less hard coding configurations that others (like Munin/Nagios) except response times. Only New Relic does that that I know of.<p>There's not much to collect with Nginx with Zabbix as it only reports from this: <a href="http://wiki.nginx.org/HttpStubStatusModule" rel="nofollow">http://wiki.nginx.org/HttpStubStatusModule</a><p>If you want fancy statistics collection with MongoDB by Zabbix, I recommend this: <a href="https://code.google.com/p/mikoomi/" rel="nofollow">https://code.google.com/p/mikoomi/</a><p>Much more: <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_network_monitoring_systems" rel="nofollow">https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of...</a>
Zabbix works great for this, is stable and whilst it's still a serious undertaking to properly configure it, it's at least not as bad as Nagios.<p>It's also extremely flexible in how you deploy it (distributed monitoring, proxies, agents or direct checks) and what you monitor (custom scripts for oddball stuff are pretty easy to write for it, SNMP and many other common things are already included).<p>If you want free/cheap hosted monitoring, have a look at Monitis (Warning: they were extremely clingy when it came to cancelling our account once we switched to Zabbix)
(Disclosure: I work at New Relic)<p>New Relic is made for monitoring web apps, so I can't imagine anything better suited for your needs. We also have partnerships with most of the hosting providers, so you're likely to be able to use New Relic Standard service for free.<p>The basics: <a href="http://newrelic.com/" rel="nofollow">http://newrelic.com/</a>
Top partners: <a href="http://newrelic.com/about/partners" rel="nofollow">http://newrelic.com/about/partners</a><p>Good luck on your launch!
Here at The Day Job we're using Scout(<a href="http://scoutapp.com" rel="nofollow">http://scoutapp.com</a>) to monitor about 10 servers - it's pretty easy to set up, and grows well as your cluster does. You also get to write plugins in Ruby, which is pretty fun.
Just to close the loop, I went with Munin. They have a good number of plugins and ones for MongoDB and Nginx are available as well. A little bit of finagling, but it all seems to be work reasonably well now.