Skip to main content

RUM Receiver

RUM Receiver

Plugin: dem.plugin Module: receiver

Maintained by Netdata

Overview​

Monitor the availability and HTTP request outcomes of the browser telemetry receiver.

Netdata accepts browser telemetry over HTTP or HTTPS and routes each request to its configured site. One receiver serves all sites; a receiver outage creates measurement gaps while site jobs remain available.

This collector is only supported on the following platforms:

  • Linux
  • macOS

This collector only supports collecting metrics from a single instance of this integration.

The Netdata service needs write access to its DEM state directory. Configured TLS and GeoIP files must be readable by the Netdata service account.

Default Behavior​

Auto-Detection​

The stock receiver starts on loopback. Sites require explicit configuration.

Limits​

Browser payloads and request rates are limited by receiver settings.

Performance Impact​

Resource usage depends on accepted browser traffic and the configured measurement window. Optional OTLP export and investigation history add network and local disk work.

Setup​

Prerequisites​

Install the DEM plugin​

DEM is experimental and opt-in. Build Netdata with -DENABLE_PLUGIN_DEM=ON, or use --enable-plugin-dem with the source installer. Install the resulting DEM plugin package.

Expose the receiver​

Expose the listener through an HTTPS reverse proxy before sending traffic from remote websites. Set public_url and restrict trusted_proxies to that proxy. The default listener is local to this host.

Configuration​

Options​

Options apply to the canonical receiver.

Configuration options
GroupOptionDescriptionDefaultRequired
ConnectionlistenAddress and port that accept browser telemetry. The default accepts connections from this host only.127.0.0.1:19938no
public_urlPublic receiver base URL used to generate installation snippets. If neither receiver nor site sets a public URL, no snippet is offered.no
tls_certServer certificate file. Leave empty with TLS key to serve HTTP.no
tls_keyServer private key file. Set together with TLS certificate to serve HTTPS.no
trusted_proxiesProxy IP addresses or CIDR ranges allowed to supply forwarded client addresses. Leave empty to distrust forwarded headers.no
Limitsmax_body_bytesMaximum accepted browser payload size, in bytes. Larger requests are rejected.262144no
rate_limitLimits for browser telemetry requests.no
rate_limit.per_ip_per_minMaximum requests per client IP per minute.120no
rate_limit.per_site_per_secMaximum requests per site per second.500no
Collectionupdate_everyData collection interval, in seconds.10no
geoip_dbMaxMind city database file. Leave empty to use the Agent IP intelligence database; unavailable data produces unknown locations.no

via File​

The configuration file name for this integration is dem/receiver.conf.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config dem/receiver.conf
Examples​
Local receiver​

Minimal native configuration.

Examples
jobs:
- name: receiver
listen: 127.0.0.1:19938

Alerts​

There are no alerts configured by default for this integration.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

The availability state distinguishes an unavailable receiver from measured request outcomes.

Per receiver​

One configured receiver; breakdowns appear when matching observations are available.

This scope has no labels.

Metrics:

MetricDescriptionDimensionsUnit
dem_receiver.stateRUM receiver availabilityserving, unavailablestate
dem_receiver.requestsRUM HTTP requestssuccess, client_errors, server_errorsrequests/s

Troubleshooting​

Other Problems​

No browser measurements​

Check the serving state in rum-sites, the configured public URL and the site allowed origins. In the website browser, follow the script and SDK requests through the collect POST. Last accepted payload and rejected-origin timestamps are observations; silence alone does not prove failure.


Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.