4 of 4 people found this helpful
Communication relationships are used when the patterns that identify software look at the software's configuration and see that it is configured to communicate with another piece of software. For example, the pattern might read a configuration file for an application server and see the address of a database server. The pattern would create a Communication relationship to the corresponding node. Exactly what information it uses to do this is specific to the product being discovered.
Observed Communication relationships are generically discovered. Discovery runs commands like netstat and lsof that tell it the listening ports and open network connections. Discovery does its best to correlate this information with the software it sees running, and where it can identify both ends of a communication, it creates an ObservedCommunication relationship between them. For this to work well, you often need root/administrator access for Discovery, because operating systems only give all the pertinent information to that sort of privileged user.
Duncan, good explanation. Only your recommended root access is a little too much. Root is simple, but better/securer are the right sudo permissions.