You can certainly obtain this information with your own javascript and record it on your own server. Combine it with your server logs and you have can most of the same information you would have had from GA or another hosted solution.
Actually, GA only provides you with a [meager] subset of the data that Google gathers. Now it's their data.. not yours, and not your customers. They won't even give up IP addresses so that you can check it against your own logs.