Kubesense

Settings

Synthetics settings are under Settings → Synthetics (or the gear on the Synthetics pages). Each tab shows only for roles with access to it.

TabDescription
Locations & agentsLocations, agents and registration tokens — see Locations & Agents
Maintenance windowsPlanned muting and pausing — see Alerts & Maintenance
Notification channels ↗Opens the KubeSense notification channels that monitors alert to
Global variablesValues and secrets shared by monitors
Defaults & usageMonitor defaults, limits, browser test integrations, tag policy and monthly usage

Global Variables

Variables hold values that several monitors share — base URLs, API tokens, passwords — so they are changed in one place. Use them in any monitor field as {{ NAME }}, for example {{ BASE_URL }}/health or Authorization: Bearer {{ API_TOKEN }}.

Click New variable:

FieldDescription
NameUpper case, digits and _, starting with a letter and at least 3 characters, e.g. API_TOKEN
TypeSee below
ValueUp to 64 KiB
DescriptionWhat the variable is for
Tagse.g. env:prod, for filtering
TypeDescription
PlainA visible value
SecureA secret: write-only, encrypted at rest and masked as *** in results and exports
TOTPA one-time-password generator for two-factor logins: a Base32 secret or an otpauth:// URI, digits, period and algorithm. {{ NAME }} gives the current code
From testA value extracted by an HTTP monitor or a multistep step (for example a fresh token), refreshed each time that monitor's scheduled run passes. Run now and tests do not refresh it

Open a variable to see where it is used: every monitor that references it, and in which field.

Built-ins and filters

Every field also accepts built-ins, computed per run:

Built-inValue
{{ uuid }}A random UUID
{{ timestamp(-3600, s) }}Unix time plus an offset, in s or ms
{{ date(0d, YYYY-MM-DD) }}The UTC date plus an offset (-1d, 2h…), in a format
{{ numeric(8) }}, {{ alphabetic(8) }}, {{ alphanumeric(8) }}Random characters
{{ monitor-id }}, {{ result-id }}The monitor and the run

A reference can take one filter: {{ NAME | urlEncode }}, urlDecode, base64Encode or base64Decode. Saving a monitor checks every reference; an unknown variable is refused with the field it is in.


Defaults & Usage

Monitor defaults

Values a new monitor starts with, unless it sets its own:

DefaultDescription
Frequency, TimeoutSchedule
Fast retries, Retry intervalRetries of a failed attempt
LocationsLocations picked for a new monitor, e.g. in-cluster
LabelsLabels added to a new monitor
Browser test deviceDevice of a new browser test
Failure threshold, Recovery threshold, Location thresholdAlert policy
Alert channelsNotification channels of a new monitor

Limits

Limits for all users, each at least as strict as the installation's own (shown beside each field; see Configuration):

LimitDescription
Max monitorsMost monitors that can exist
Minimum frequencyShortest interval, overall and per check type
Max locations per monitorMost locations one monitor may pick
Max steps per multistep testMost steps in a multistep test
Max concurrent on-demand runsRun now, tests and CI batches running at the same time

Browser test integrations

SettingDescription
APM trace URLsURL patterns (with * wildcards) of your own services. Requests a browser test makes to them carry a trace header, so the run links to the backend traces in KubeSense. List only your own services: third parties receive the header too
Mark browser test sessions in RUMPages that load the KubeSense RUM SDK report browser test visits as synthetic sessions, not real users

Tag policy

Rules for monitor labels (tags), so every monitor carries, for example, a team and an env:

  • Each rule has a Tag key, optional Allowed values and an optional Pattern (regular expression).
  • With Enforce the tag policy on, monitors that break a rule cannot be saved or imported. Off, the rules are advisory: violations are flagged in the monitor list and counted on the Overview.

Usage

Monitors and runs per month, with succeeded and failed runs per check type. Pick a month to see earlier ones.