The Net-SNMP package supplied with RedHat is actually a very flexible monitoring agent, which will get values for all of the metrics you listed by default out of the box. However, it's old: the SNMP protocol itself has been around for over two decades, with significant improvements made over that span. The learning curve for it is fairly steep, as well. Which is directly related to the 26+ years of development made on the protocol base. The Net-SNMP project was pretty much there for all of that (first as a Carnegie-Mellon implementation and then as "ucd-snmp" from the University of California at Davis, which led to the current "Net-SNMP" code fork), so there is a fair bit of information to get a handle on, but they have great documentation.
http://net-snmp.sourceforge.net/docs/man/
is the basic manual pages for the distribution. The Wiki has good "quick setup" guides and can be found at
http://net-snmp.sourceforge.net/wiki/
So I'd start there to get up and running quickly. But read on...
Net-SNMP collects it's data from the Linux kernel, using various sources ( the /proc
filesystem and the lm-sensors
packages to name a few). It can also be extended to report on just about anything you want, but that's going to take some significant investment of time and knowledge in order to do so.
In order to understand what is happening behind the scenes, the first concept you need to take a look at is the structure and availability of SNMP MIBs (Management Information Bases), which control what information you can query. I wouldn't spend a lot of time on it, but knowing which MIBs are available on your system and the structure of some of the most common MIB objects like TABLEs, STRINGs, INTs and INFORMs will allow you to select appropriate objects for your monitoring needs.
The second piece you need is an understanding of the Net-SNMP configuration file: snmpd.conf. This is a complex piece of of configuration, so read the man pages thoroughly to understand why things are set up the way they are in the defaults.
Also, from a default implementation, you will need to select the protocol version you'll be supporting/querying with. Please DON'T use version 1. Your choice, really, is between versions 2c and 3 for support of rudimentary security and 64-bit counter support.
Good Luck! Your adventure awaits!