uptime get me the server load average for the last 1, 5 and 15 minutes but is there an easy way to get the average load of yesterday or any other day for that matter?
You might want to use atop for your task.
Check out the section RAW DATA STORAGE in its manpage.
On redhat sar is in the sysstat package. Not sure about other distros.
For days other than today you will need to specify the file that contains the stats.
On redhat these files are in:
/var/log/sa/sa15 is the sar data for the 15th,
/var/log/sa/sa23 is the sar data for the 23rd etc.
so to see the load averages for the 25 you'd use:
sar -q -f /var/log/sa/sa25
Having re-read your question you'll need to massage the data to get a day's average. You can use the -H and -h flags to change the output to some thing that may be easier to parse/process.
Not with the kernel itself, which is what computes those 3 averages. Nagios can capture and store the data over an arbitrary timespan, and—I think—can average it.