Problem
Your New Relic synthetic monitoring API test or scripted browser monitor appears to be running as you'd like it to, but it always returns this error:
NetworkError: Monitor produced no traffic
Solution
While synthetic monitoring allows the import of Node.js network modules, it requires the use of the built-in objects to capture network traffic for scripted browser monitors ($browser
) and API tests ($http
). This allows New Relic to track network requests and report back on resource load times, status codes, and other details.
If you have manually required a library such as request
and are using that module exclusively within your script steps, synthetics will not be able to capture network traffic. This is why you see the network error.
To solve this problem, do not import the library manually. Instead, use the built-in objects, which provide the same functionality.
There may be a few functions that are not available with the built-in objects. In these cases, you may want to make a single or placeholder request using the built-in object, and complete the rest of the monitor steps with an imported module. This is not a recommended solution, because the network traffic results will not reflect the totality of what the monitor is doing. However, it will resolve this error and allow the monitor to run successfully.