Haven't really measured that. Setting up you'll eat up like 350 GB downloading everything you need. Day to day running is a lot less.
I've attached my network traffic graph for the last hour. I can't really tell how often its being transferred but I'm guessing per second, and using that as an estimate, its about 70 GB/month which really isn't bad at all. (30 kb/sec * 60 sec/min * 60 min/hour * 24/hour/day * 30 day/month).
Do you have a transaction log for how many requests you get during that timeframe.
Witness nodes don't normally handle requests(that'd be the job of a fullnode, but it is possible to take some specific requests which I have my witness node doing for some very small private projects). Witness nodes just get and process blocks and sign blocks when they get assigned to produce a block.