How can I log and plot a graph of
- all available hardware temperatures (CPU, SSD, etc).
- CPU load
over a given time (say a day or a week) in linux?
The CPU is i7 haswell if this matters, I have both, an SSD and HDD in this box.
If you want to code some of this yourself you should take a look at at RRDTool
You will need to script a method for inputting data to an RRD database and by running a simple command you can output png (the default) images of graphs.
Otherwise there are quite a large number of web based applications that can log and graph metrics on a server. One that immediately comes to mind is Cacti
You also can take a look into Munin. Munin is a lightweight and easy to configurable monitoring tool.
Take a look at s-tui. (DISCLAIMER: I created s-tui) It lets you monitor temperature frequency and CPU utilization over time. No SSD temp at the moment.
You can check it out at https://github.com/amanusk/s-tui
Download the executable from releases, or run it with python by following the README on github.