For those that are considering this you can capture from all three areas of your 'stack' straight into Graphite:
1) Munin. There are hundreds of munin plugins around for monitoring every part of your infrastructure from CPU to MongoDB replication lag to number of Nginx 404s. Use Munin2Graphite bridge.
2) App. There are lots of statsd clients which allow you to measure all your business metrics. Signups. Retention rate. Revenue rates etc.
3) Front End. With the NginxStatsd module you can push stats directly into statds from your Javascript methods. Use it to do end to end timing, capture what the user is doing etc without putting any load on your app.
Sure it's a bit of work but done well it can save you a lot of money over products like MixPanel or NewRelic.
1) Munin. There are hundreds of munin plugins around for monitoring every part of your infrastructure from CPU to MongoDB replication lag to number of Nginx 404s. Use Munin2Graphite bridge.
2) App. There are lots of statsd clients which allow you to measure all your business metrics. Signups. Retention rate. Revenue rates etc.
3) Front End. With the NginxStatsd module you can push stats directly into statds from your Javascript methods. Use it to do end to end timing, capture what the user is doing etc without putting any load on your app.
Sure it's a bit of work but done well it can save you a lot of money over products like MixPanel or NewRelic.