For long-term low-overhead network monitoring, I came up with the following (note that the ping arguments are for Mac OS X ping -- Linux syntax is a bit different).

Put these into cron (with crontab -e):

0  0   *   *   *   ping -c 144 -Q -i60 www.speakeasy.net >> ~/public_html/dsl.log
*/10    *   *   *   *   date >> ~/public_html/dsl.log

And watch the status something like this: tail -f ~/public_html/dsl.log