If you decide to use awstats with Apache, out of the box it will show you aggregated bandwidth for your entire server.
To see bandwidth on a per virtual host basis, I recommend installing vlogger.
Vlogger will actually gather Apache access log information for each of your virtual hosts that you set up to do so in separate directories/files.
For example if your Apache log file is in /var/log/apache2, typical vlogger installation will create something like this for your virtual hosts (e.g. vhost1.com vhost2.com):
/var/log/apache2/vhost1.com/access.log
/var/log/apache2/vhost2.com/access.log
Vlogger gives you the option to rotate these logs for you, provides a way to change the naming template of the access log file (e.g. add a date), and claims it handles a large number of log files better than Apache.
One down side to this is that you won't have an aggregated server view anymore (you'll need to aggregate logs separately or perhaps use an additional apache setting or perhaps some other method?).
I would caution against using google analytics (or any javascript based tracking) for server bandwidth monitoring as you are relying on the client to report via the javascript. GA does not report to you people who have their javascript disabled as well as any crawlers/spiders/bots.