I have enterprise setup with seperate application and data collector server. I see performance data not getting collected from agents. What could be the issue?

One of the primary reason for not collecting performance data from agent is scheduling activity may not be happening. The scheduling will not happen if timezone selected for application server and data collector server is different and as per prerequisite it has to be same. If database server also is in different machine, it has to be in same timezone as application and data collector server.