Synthetic monitoring is the use of software to simulate user interaction with a given system. Synthetic monitoring is also known as active monitoring. In contrast, passive monitoring uses data from actual transactions. Many application performance monitoring (APM) tools include both passive and active monitoring modules.
Synthetic monitoring makes it possible to detect issues so they can be dealt with before they arise with actual users or cause other problems with a system that could hamper performance or availability. The practice is used for many different systems, including websites, databases, applications, services and various network components.
Synthetic monitoring tools enable an end-to-end view of a system's behavior. Such tools run behavioral scripts that follow all paths that a user would be likely to take. These scripts mimic typical user activities and can help make predictions about how a new component of the system will perform.
There are benefits and drawbacks to both synthetic and passive monitoring. For example, synthetic monitoring may increase overhead and affect system performance as a result. Passive end-user performance monitoring is useful for troubleshooting issues because the data gathered can inform an administrator about the precise conditions at the time of an event, and those conditions might not be replicated exactly in synthetic monitoring.