Configure individual browser monitors
editConfigure individual browser monitors
editThis is only relevant for project monitors. For more information on configuring browser monitors added in the Synthetics app, refer to Use the Synthetics app.
After writing synthetic journeys, you can use monitor.use
to configure the browser monitors that will run your tests.
You’ll need to set a few configuration options:
- Give your monitor a name. Provide a human readable name and a unique ID for the monitor. This will appear in Kibana where you can view and manage monitors after they’re created.
- Set the schedule. Specify the interval at which your tests will run.
- Specify where the monitors should run. You can run monitors on Elastic’s global managed testing infrastructure or create a Private Location to run monitors from your own premises.
-
Choose which spaces the monitor is visible in. (Kibana only) You can make the monitor visible in one or more [spaces](/deploy-manage/manage-spaces.md), or use
'*'for all spaces. Options set inmonitor.use()override the project-levelspacessetting in your Synthetics project configuration. For more information, refer to Configure projects. - Set other options as needed. There are several other options you can set to customize your implementation including params, tags, screenshot options, throttling options, and more.
Configure each monitor directly in your journey code using monitor.use.
The monitor API allows you to set unique options for each journey’s monitor directly through code.
For example:
import { journey, step, monitor, expect } from '@elastic/synthetics';
journey('Ensure placeholder is correct', ({ page, params }) => {
monitor.use({
id: 'example-monitor',
schedule: 10,
throttling: {
download: 10,
upload: 5,
latency: 100,
},
});
step('Load the demo page', async () => {
await page.goto('https://elastic.github.io/synthetics-demo/');
});
step('Assert placeholder text', async () => {
const placeholderValue = await page.getAttribute(
'input.new-todo',
'placeholder'
);
expect(placeholderValue).toBe('What needs to be done?');
});
});
For each journey, you can specify its schedule, the locations in which it runs, spaces (applies to Stack deployments only), and other options. When an option is not set in monitor.use(), Synthetics uses the default from the global configuration file. Options set in monitor.use() take precedence over the project-level config—for example, spaces here overrides the global monitor.spaces setting.
For more details, refer to Configure projects.