I wanted to monitor several mining variables during the time. After trying, I went the Cacti (http://www.cacti.net/
) way. This tools generates a very nice graphs with various scaling of time. The software is a bit complex and hard for newbie, but after trying few data inputs, templates, graphs, etc. you get accustomed to it and can fine-tune the output.
Here is sample of today's output of some graphs. Note that one of cards crashed due to overheating (getting hotter here each day, have to increase fan speeds), later the other gave up too. Lost about 0.4 BTC, DAMN.
For getting the data, simple PHP script parsing the JSON from web services will do its work. For example, to get your current deepbit hashrate, use:
$text = file_get_contents("http://deepbit.net/api/<YOURAPICODEHERE>");
$json = json_decode($text);
For fetching GPU temperatures, I had to write a simple console program which works like http server returning JSON data about temperature. Used ATI ADL SDK to access card temperatures. I had to write this myself because on Windows there is no such software. In Linux, you can probably run aticonfig and grep/sed/awk for the temperatures. On the Linux, where the cacti runs, the poller uses similar PHP script to fetch the JSON data and print them.