An Apache web server is serving content through CDN. The CDN cache every 3 hours. Is it normal that Apache logs all the visits? I think this means that the CDN is not working!
Without more details of your architecture, it is hard to say. If that Apache instance is the front-end to which browsers initially connect, perhaps as a reverse proxy, then you would expect it to log requests even if content is subsequently served from elsewhere. If, on the other hand, your load balancers should have diverted some or all requests to your CDN, then there might well be an issue with the CDN (or load balancers, or caches).
Well, normally I would say that it's not normal.
But there are different settings you can do at CDN level.
If for example, you have put in the CDN that it should check your base server for the changes everytime, then everytime the CDN server will hit the origin server.
Though, if you have given that the CDN should cache it for 3 hours blindly, then it should send the requests to the origin server (apache server). If it's hitting the origin server, then there is something wrong with the CDN and it should be looked at.