Summary
Setting up proper monitoring of your infrastructure is the most recommended and the most disregarded suggestion to a development team, especially in startups where teams are small, resources are limited, and fast development is the only priority. It usually goes hand-in-hand with a reluctance to go through a painfully long mechanical process to set up a system. The importance of monitoring is best understood when a failure that could have been avoided occurs at a critical hour. Monitoring is an important tool for showing the reliability of a system.
With multiple tools in hand, you are knowledgeable enough to take your weapon of choice. Choose a tool or a set of tools that fits your environment. In many cases, having Nagios to monitor Cassandra, CPU, memory, ping, and disk statistics is good enough. Others may want a dedicated monitoring and management tool such as OpsCenter. There are still others who just write code that utilizes the JMX interface to monitor particular statistics...