I recommend you try NewRelic RPM.
The free version:
RPM Lite is the most widely used
solution for basic web application
monitoring. RPM Lite provides
application monitoring for unlimited
Java, Ruby or JRuby applications, for
unlimited users, for an unlimited
time. What a deal! With RPM Lite you
can identify overall app health, app
response time, throughput, Apdex SLA
scoring, cluster breakdown, and Notes.
You can also see where web
transactions are spending the most
time, isolate the worst offenders, and
determine where to focus your
remediation efforts
Later edit:
An alternative to NewRelic RPM is ScoutApp, that has a lot of plugins covering all your required features.
If you need something that can be run on your server, there is also the munin plugins gem that you may try. If you need a users monitoring tools (kind of like Google Analytics)m you can use the RailStat gem.