Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cases to troubleshooting and support matrix pages #3105

Merged
merged 8 commits into from
Aug 11, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/en/observability/synthetics-support-matrix.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,10 @@ a| System requirements:
** Fedora - 24 and newer
** Debian - 8 and newer

| *Output to Elasticsearch*
|
a| Synthetics must have a direct connection to {es}, whether running monitors from Elastic's global managed testing infrastructure or from {private-location}s.

Do not configure any ingest pipelines or output via Logstash as this will prevent Synthetics from working properly and is not supported.

|===
38 changes: 38 additions & 0 deletions docs/en/observability/synthetics-troubleshooting.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,44 @@ in the {synthetics-app}.

To fix this, make sure there is an agent configured to run against the agent policy.

[discrete]
[[synthetics-troubleshooting-no-direct-es-connection]]
== No results from a monitor

If you have configured a monitor but don't see any results for that monitor in the {synthetics-app}, whether running them from Elastic's global managed testing infrastructure or from {private-location}s, ensure Synthetics has a direct connection to {es}.

Do not configure any ingest pipelines or output via Logstash as this will prevent Synthetics from working properly and is not <<synthetics-support-matrix,supported>>.

[discrete]
[[synthetics-troubleshooting-missing-browser-schedules]]
== Browser monitor configured to run on a {private-location} not running to schedule

If you have browser monitors configured to run on a {private-location} but notice one or more of them are not running as scheduled, this could be because:

* The time it takes for your monitor to run is longer than the frequency you have set
* There may be too many monitors trying to run concurrently, causing some of them to skip their scheduled run

You may also see a message in the logs such as `2 tasks have missed their schedule deadlines by more than 1 second in the last 15s`. These will be visible from inside the Agent diagnostic ZIP file, and the numbers and time periods may be different in your logs.

Start by identifying the cause of the issue. First, check if the time it takes the monitor to run is less than the scheduled frequency:

1. Go to the Synthetics app.
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved
2. Click the monitor, then click **Go to monitor**.
3. Go to the https://www.elastic.co/guide/en/observability/current/synthetics-analyze.html#synthetics-analyze-individual-monitors-overview[Overview tab] to see the _Avg. duration_. You can also view the duration for individual runs in the https://www.elastic.co/guide/en/observability/current/synthetics-analyze.html#synthetics-analyze-individual-monitors-history[History tab].
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved
4. Compare the duration to the scheduled frequency. If the duration is _greater than_ the scheduled frequency, for example if the monitor that takes 90 seconds to run and its scheduled frequency is 1 minute, the next scheduled run will not occur because the current one is still running so you may see results for every other scheduled run.

To fix this, you can either:

* Change the frequency so the monitor runs less often.
* Refactor the monitor so it can run in a shorter amount of time.
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved

If the duration is _less than_ the scheduled frequency or the suggestion above do not fix the issue, then there may be too many browser monitors attempting to run on the Private Location. Due to the additional hardware overhead of running browser monitors, we limit each Private Location to only run two browser monitors at the same time. Depending on how many browser monitors you have configured to run on the Private Location and their schedule, the Private Location may not be able to run them all because that would need more than two simultaneous browser tests to be running.
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved

To fix this issue, you can either:

* Increase the number of concurrent browser monitors allowed (as described in https://observability-docs_3105.docs-preview.app.elstc.co/guide/en/observability/master/synthetics-private-location.html#synthetics-private-location-scaling[Scaling Private Locations]), paying attention to the scaling and hardware requirements documented).
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved
* Create multiple Private Locations and spread your browser monitors across them more evenly (effectively horizontally scaling your Private Locations).
colleenmcginnis marked this conversation as resolved.
Show resolved Hide resolved

[discrete]
[[synthetics-troubleshooting-get-help]]
= Get help
Expand Down