You didn't mention what kind of battery you want to monitor. For example, lead-acid battery is a completely different animal than a lithium battery or a NiMh -based battery. Also, the operating temperature is one important parameter - for instance the capacity and voltage are usually quite temperature-dependent.
As Magnox points out, Coulomb counting is an excellent way to monitor the charge. However, it is not as simple to implement than just monitoring the battery voltage - which, in general, is not as accurate.
Know your battery before you decide what is the optimum solution. You can learn a lot about the different battery types and their charge/discharge characteristics from http://batteryuniversity.com/