Locating the source node that initiates a diffusion process is an increasingly popular topic that contributes new insights into the maintenance of cyber security, rumor detection in social media, digital surveillance of infectious diseases, etc. Existing studies select the observers randomly or select them heuristically according to the network centrality or community measures. However, there still lacks a method to identify the minimum set of observers for accurately locating the source node of information diffusion in cyber physical networks. Here, we fill this knowledge gap by proposing a greedy optimization algorithm by analyzing the differences of the propagation delay. We use extensive simulations with both synthetic and empirical networks to show that the number of observers can be substantially decreased: Our method only uses a small fraction of nodes (10%-20%) as observers in most networks, whereas the conventional random selection methods have to use 2-3 times more nodes as observers. Interestingly, if a network has a large proportion of low-degree nodes (e.g., karate network), it is necessary to recruit more observers. In particular, the periphery nodes that are only connected with one edge must be observers. Combining our greedy optimization algorithm with the diffusion-back method, the performance of source localization is robust against noise.