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:
so to see the load averages for the 25 you'd use:
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.