If I want to monitor some machines that I'm not the primary maintainer of (ie, I don't have access to install packages), are there any lightweight alternatives to things like Nagios? I'm looking for a script (bash, Perl, PHP, etc.) that does basic monitoring of Linux servers and services (disk space, web server, maybe cpu usage, etc.) and sends alerts when necessary.
You can use Monit: http://www.ubuntugeek.com/monitoring-ubuntu-services-using-monit.html
It's lighter weight than Nagios, and it will do alerts and service mending. The drawback is that it's not as flexible as Nagios, and you may need something to monitor Monit (i.e., if it dies, you won't be doing any monitoring, as opposed to Nagios, which can do active checks against NRPE hosts).
You can use one of the free monitoring services (pingdom, etc) and use a simple script as sensor, see for example http://blog.alertfox.com/2011/01/monitoring-disk-space-and-other-status.html
This way you get detailed reporting with very simple scripts.
well it is not hard to write it yourself, just make a perl script that does basic commands and uses some regex to get your information, drag it into your master computer, compair it to your tresshold and do something ( email ) when you pass it.
Add it to cron and your off :)
however, if you want something comprehensive, get munin, nagios or cacti send an email to install the packages.
Probably the best commercial solution is Status2K. It's a PHP script and you'll need access to a MySQL database as it stores Bandwidth and CPU/Memory history.