I have an Arduino with multiple sensors and want to know the total current/power consumption of the system
If it's just for characterization purposes when you're testing the device, you can just use the current measurement feature on your multimeter. Place the meter between the positive terminal of the 9V battery and the supply input to your circuit.

If it's for online monitoring (ie: as a feature of the device), the easiest thing is probably a current sensing shunt resistor and an instrumentation amplifier chip. Current sense resistors are available in various values, but something like 0.05 ohms is probably sufficient for your application. The differential inputs of the instrumentation amp go across the current sense resistor, and the output goes to one of the Arduino's analog pins. 







simulate this circuit &ndash; Schematic created using CircuitLab

Voltage across the current sense resistor just comes from Ohm's law (V=IR). Use your maximum expected current to determine the gain setting for the instrumentation amplifier. For example, if you want to measure a maximum of 500 mA current, 0.05 ohms * 500 mA = 25mV, so a gain factor of 200 will scale this parameter to 0-5V for the Arduino's ADC.

As for the next part of your question - once again, if it's just for characterization purposes, use a multimeter. You can find the characteristic curves of a 9V battery pretty easily on Google (for example, here's a datasheet from Duracell). If it's for online monitoring, just use a voltage divider to scale the 0-9V voltage to 0-5V for the Arduino ADC. Actually, I'd probably just use a divide-by-two voltage divider for a little headroom at the top end. The circuit is simple:







simulate this circuit