Storm only stops calling nextTuple when the number of unacked messages on a spout exceeds TOPOLOGY_MAX_SPOUT_PENDING (which defaults to infinity). Though eventually, unacked messages will timeout and it will continue emitting messages).
Most likely it sounds like you need more parallelism to handle your throughput.
As for monitoring, all the stats are available via the Nimbus Thrift interface. So you can use that to export state to a richer monitoring system (perhaps one that you have in-house).
Though the most important monitoring is the one on your spout source, as the ultimate indicator of something being wrong is backup on your spout source.