New

The executive guide to generative AI

Read more

Synthetics command reference

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

elastic-synthetics

edit

Heartbeat uses the npx @elastic/synthetics command to run and report synthetic tests. It can also be used locally to help develop your tests.

npx @elastic/synthetics [options] [files] [dir]

You will not need to use most command line flags — they have been implemented purely to interact with Heartbeat. However, there are some you may find useful. They are documented below.

--debug
Prints debug info.
--match <name>
Filters journey with the name or a matching tag.
--tags <name...>
Filters journey with the given tag(s).
--reporter
One of junit, default, or json. Use the JUnit reporter to provide easily parsed output to CI servers like Jenkins.
--no-headless
Runs with the browser in headful mode.
--inline
Instead of reading from a file, cat inline scripted journeys and pipe them through stdin. For example, cat path/to/file.js | npx @elastic/synthetics --inline.
--playwright-options <jsonstring>
JSON object to pass in custom Playwright options for the agent. Options passed will be merged with Playwright options defined in your synthetics.config.js file. Options defined via --playwright-options take precedence.
--screenshots <on|off|only-on-failure>
Captures screenshots for every step in the journey.
-h, --help
Shows help for the npx @elastic/synthetics command.

elastic-synthetics init

edit

Scaffold a new project using Elastic Synthetics.

This will create a template Node.js project that includes the synthetics agent, required dependencies, a synthetics configuration file, and example journey files. These journeys can be edited and then pushed to Kibana to create monitors.

npx @elastic/synthetics init <name-of-project>

elastic-synthetics push

edit

Create monitors in Kibana by using your local journeys.

npx @elastic/synthetics push --auth <api-key> --url <kibana-url> --project <id|name>
--auth
API key used for Kibana authentication.
--url
The Kibana URL for the deployment to which you want to upload the monitors.
--project
A unique id associated with your project. It will be used for logically grouping monitors. If you used init to create a project, this is the <name-of-project> you specified.
Was this helpful?
Feedback