Sometimes it’s difficult to setup Nagios for server monitoring. This is what I do instead.
Firstly, for load monitoring:
#!/bin/bash
FILENAME=< absolute path >/monitoring/logs/load-$(date +%Y%m%d).txt
cat /proc/loadavg | awk '{print strftime("%Y/%m/%d %H:%M:%S", systime()), $1, $2, $3}' >> $FILENAME
Run it both from cron, and then I use another cron script and gnuplot to graph the output.
genloadgraph.sh:
DATE=$1
if [ -z $DATE ]; then DATE="$(date +%Y%m%d)"; fi
FILENAME=load-$DATE.txt
cp < absolute path >/monitoring/logs/$FILENAME < absolute path >/monitoring/load.txt
gnuplot < absolute path >/monitoring/loadplot.p
rm < absolute path >/monitoring/load.txt
loadplot.p:
set terminal png large size 800,600
set xdata time
set timefmt "%Y/%m/%d %H:%M:%S"
set title "Load"
set format x "%H:%M:%S"
set out '< absolute path >/monitoring/load.png'
plot "< absolute path >/monitoring/load.txt" using 1:3 title '1 min average' with lines, "< absolute path >/monitoring/load.txt" using 1:4 title '5 min average' with lines, "< absolute path >/monitoring/load.txt" using 1:5 title '15 min average' with lines
set output
Gives a graph like this:

It possible to do a similar thing for website monitoring:
#!/bin/bash
FILENAME=< absolute path >/monitoring/logs/nicklothian-$(date +%Y%m%d).txt
(time wget -q --delete-after http://nicklothian.com/blog/) 2>&1 | awk '/real/ {print strftime("%Y
/%m/%d %H:%M:%S", systime()), $2}' >> $FILENAME