The only agent that thinks for itself

Autonomous Monitoring with self-learning AI built-in, operating independently across your entire stack.

Metrics, Logs & Traces
Machine learning & MCP
5% CPU, 150MB RAM
3GB disk, >1 year retention
800+ integrations, zero config
Dashboards, alerts out of the box
> Discover Netdata Agents

Centralized metrics streaming and storage

Aggregate metrics from multiple agents into centralized Parent nodes for unified monitoring across your infrastructure.

Stream from unlimited agents
Long-term data retention
High availability clustering
Data replication & backup
Scalable architecture
Enterprise-grade security
> Learn about Parents

Fully managed cloud platform

Access your monitoring data from anywhere with our SaaS platform. No infrastructure to manage, automatic updates, and global availability.

Zero infrastructure management
99.9% uptime SLA
Global data centers
Automatic updates & patches
Enterprise SSO & RBAC
SOC2 & ISO certified
> Explore Netdata Cloud

Deploy Netdata Cloud in your infrastructure

Run the full Netdata Cloud platform on-premises for complete data sovereignty and compliance with your security policies.

Complete data sovereignty
Air-gapped deployment
Custom compliance controls
Private network integration
Dedicated support team
Kubernetes & Docker support
> Learn about Cloud On-Premises

Powerful, intuitive monitoring interface

Modern, responsive UI built for real-time troubleshooting with customizable dashboards and advanced visualization capabilities.

Real-time chart updates
Customizable dashboards
Dark & light themes
Advanced filtering & search
Responsive on all devices
Collaboration features
> Explore Netdata UI

Monitor on the go

Native iOS and Android apps bring full monitoring capabilities to your mobile device with real-time alerts and notifications.

iOS & Android apps
Push notifications
Touch-optimized interface
Offline data access
Biometric authentication
Widget support
> Download apps

The future of infrastructure observability

See our strategic direction across AI-native observability, full-stack signals, operational intelligence, and enterprise platform maturity.

AI-native observability
Full-stack signal coverage
Operational intelligence
Enterprise platform maturity
Agent releases every 6 weeks
Cloud continuous delivery
> Explore Product Roadmap

Best energy efficiency

True real-time per-second

100% automated zero config

Centralized observability

Multi-year retention

High availability built-in

Zero maintenance

Always up-to-date

Enterprise security

Complete data control

Air-gap ready

Compliance certified

Millisecond responsiveness

Infinite zoom & pan

Works on any device

Native performance

Instant alerts

Monitor anywhere

AI-native observability

Continuous delivery

Open source foundation

80% Faster Incident Resolution

AI-powered troubleshooting from detection, to root cause and blast radius identification, to reporting.

True Real-Time and Simple, even at Scale

Linearly and infinitely scalable full-stack observability, that can be deployed even mid-crisis.

90% Cost Reduction, Full Fidelity

Instead of centralizing the data, Netdata distributes the code, eliminating pipelines and complexity.

See and Map Your Entire Network

Live topology, flow analytics, and SNMP device and trap monitoring — unified with your full-stack observability.

Control Without Surrender

SOC 2 Type 2 certified with every metric kept on your infrastructure.

Integrations

800+ collectors and notification channels, auto-discovered and ready out of the box.

800+ data collectors
Auto-discovery & zero config
Cloud, infra, app protocols
Notifications out of the box
> Explore integrations
Real Results
46% Cost Reduction

Reduced monitoring costs by 46% while cutting staff overhead by 67%.

— Leonardo Antunez, Codyas

Zero Pipeline

No data shipping. No central storage costs. Query at the edge.

From Our Users
"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

No Query Language

Point-and-click troubleshooting. No PromQL, no LogQL, no learning curve.

Enterprise Ready
67% Less Staff, 46% Cost Cut

Enterprise efficiency without enterprise complexity—real ROI from day one.

— Leonardo Antunez, Codyas

SOC 2 Type 2 Certified

Zero data egress. Only metadata reaches the cloud. Your metrics stay on your infrastructure.

Full Coverage
800+ Collectors

Auto-discovered and configured. No manual setup required.

Any Notification Channel

Slack, PagerDuty, Teams, email, webhooks—all built-in.

Built for the People Who Get Paged

Because 3am alerts deserve instant answers, not hour-long hunts.

Every Industry Has Rules. We Master Them.

See how healthcare, finance, and government teams cut monitoring costs 90% while staying audit-ready.

Monitor Any Technology. Configure Nothing.

Install the agent. It already knows your stack.
From Our Users
"A Rare Unicorn"

Netdata gives more than you invest in it. A rare unicorn that obeys the Pareto rule.

— Eduard Porquet Mateu, TMB Barcelona

99% Downtime Reduction

Reduced website downtime by 99% and cloud bill by 30% using Netdata alerts.

— Falkland Islands Government

Real Savings
30% Cloud Cost Reduction

Optimized resource allocation based on Netdata alerts cut cloud spending by 30%.

— Falkland Islands Government

46% Cost Cut

Reduced monitoring staff by 67% while cutting operational costs by 46%.

— Codyas

Real Coverage
"Plugin for Everything"

Netdata has agent capacity or a plugin for everything, including Windows and Kubernetes.

— Eduard Porquet Mateu, TMB Barcelona

"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

Real Speed
Troubleshooting in 30 Seconds

From 2-3 minutes to 30 seconds—instant visibility into any node issue.

— Matthew Artist, Nodecraft

20% Downtime Reduction

20% less downtime and 40% budget optimization from out-of-the-box monitoring.

— Simon Beginn, LANCOM Systems

Pay per Node. Predictable Pricing.

Predictable per-node pricing for infrastructure monitoring. No per-metric or per-GB ingest charges for metrics and logs.

Free tier—forever
No metric limits or caps
Retention you control
Cancel anytime
> See pricing plans

What's Your Monitoring Really Costing You?

Most teams overpay by 40-60%. Let's find out why.

Expose hidden metric charges
Calculate tool consolidation
Customers report 30-67% savings
Results in under 60 seconds
> See what you're really paying

Your Infrastructure Is Unique. Let's Talk.

Because monitoring 10 nodes is different from monitoring 10,000.

On-prem & air-gapped deployment
Volume pricing & agreements
Architecture review for your scale
Compliance & security support
> Start a conversation

Monitoring That Sells Itself

Deploy in minutes. Impress clients in hours. Earn recurring revenue for years.

30-second live demos close deals
Zero config = zero support burden
Competitive margins & deal protection
Response in 48 hours
> Apply to partner

Per-Second Metrics at Homelab Prices

Same engine, same dashboards, same ML. Just priced for tinkerers.

Community: Free forever · 5 nodes · non-commercial
Homelab: $90/yr · unlimited nodes · fair usage
> Get the Homelab Plan

$1,000 Per Referral. Unlimited Referrals.

Your colleagues get 10% off. You get 10% commission. Everyone wins.

10% of subscriptions, up to $1,000 each
Track earnings inside Netdata Cloud
PayPal/Venmo payouts in 3-4 weeks
No caps, no complexity
> Get your referral link
Cost Proof
40% Budget Optimization

"Netdata's significant positive impact" — LANCOM Systems

Calculate Your Savings

Compare vs Datadog, Grafana, Dynatrace

Savings Proof
46% Cost Reduction

"Cut costs by 46%, staff by 67%" — Codyas

30% Cloud Bill Savings

"Reduced cloud bill by 30%" — Falkland Islands Gov

Enterprise Proof
"Better Than Combined Alternatives"

"Better observability with Netdata than combining other tools." — TMB Barcelona

Real Engineers, <24h Response

DPA, SLAs, on-prem, volume pricing

Why Partners Win
Demo Live Infrastructure

One command, 30 seconds, real data—no sandbox needed

Zero Tickets, High Margins

Auto-config + per-node pricing = predictable profit

Homelab Ready
Free Video Course

8-episode Netdata tutorial by LearnLinux.tv

76k+ GitHub Stars

3rd most starred monitoring project

Worth Recommending
Product That Delivers

Customers report 40-67% cost cuts, 99% downtime reduction

Zero Risk to Your Rep

Free tier lets them try before they buy

AI Support Assistant, Available 24/7

Nedi has access to all official documentation, source code, and resources. Ask any question about Netdata—responds in your language.

Deployment & configuration
Troubleshooting & sizing
Alerts & notifications
Evidence-based answers
> Ask Nedi now

Never Fight Fires Alone

Docs, community, and expert help—pick your path to resolution.

Learn.netdata.cloud docs
Discord, Forums, GitHub
Premium support available
> Get answers now

60 Seconds to First Dashboard

One command to install. Zero config. 850+ integrations documented.

Linux, Windows, K8s, Docker
Auto-discovers your stack
> Read our documentation

76,000+ Engineers Strong

615+ contributors. 1.5M daily downloads. One mission: simplify observability.

Per-Second. 90% Cheaper. Data Stays Home.

Side-by-side comparisons: costs, real-time granularity, and data sovereignty for every major tool.

See why teams switch from Datadog, Prometheus, Grafana, and more.

> Browse all comparisons
Edge-Native Observability, Born Open Source
Per-second visibility, ML on every metric, and data that never leaves your infrastructure.
Founded in 2016
615+ contributors worldwide
Remote-first, engineering-driven
Open source first
> Read our story
Promises We Publish—and Prove
12 principles backed by open code, independent validation, and measurable outcomes.
Open source, peer-reviewed
Zero config, instant value
Data sovereignty by design
Aligned pricing, no surprises
> See all 12 principles
Edge-Native, AI-Ready, 100% Open
76k+ stars. Full ML, AI, and automation—GPLv3+, not premium add-ons.
76,000+ GitHub stars
GPLv3+ licensed forever
ML on every metric, included
Zero vendor lock-in
> Explore our open source
Build Real-Time Observability for the World
Remote-first team shipping per-second monitoring with ML on every metric.
Remote-first, fully distributed
Open source (76k+ stars)
Challenging technical problems
Your code on millions of systems
> See open roles
Meet the Team Behind Netdata
Conferences, meetups, and tradeshows where you can see Netdata in action and talk to the engineers who build it.
Live demos and deep dives
Book 1-on-1 meetings
Talks and panel sessions
Event recaps and photos
> See all events
Talk to a Netdata Human in <24 Hours
Sales, partnerships, press, or professional services—real engineers, fast answers.
Discuss your observability needs
Pricing and volume discounts
Partnership opportunities
Media and press inquiries
> Book a conversation
Your Data. Your Rules.
On-prem data, cloud control plane, transparent terms.
Trust & Scale
76,000+ GitHub Stars

One of the most popular open-source monitoring projects

SOC 2 Type 2 Certified

Enterprise-grade security and compliance

Data Sovereignty

Your metrics stay on your infrastructure

Validated
University of Amsterdam

"Most energy-efficient monitoring solution" — ICSOC 2023, peer-reviewed

ADASTEC (Autonomous Driving)

"Doesn't miss alerts—mission-critical trust for safety software"

Community Stats
615+ Contributors

Global community improving monitoring for everyone

1.5M+ Downloads/Day

Trusted by teams worldwide

GPLv3+ Licensed

Free forever, fully open source agent

Why Join?
Remote-First

Work from anywhere, async-friendly culture

Impact at Scale

Your work helps millions of systems

Real User Monitoring icon

Real User Monitoring

Real User Monitoring

Plugin: dem.plugin Module: rum

Overview

Monitor browser Web Vitals, document and application-view traffic, JavaScript errors and resource timing.

The Faro browser SDK sends measurements to the configured RUM receiver. Netdata aggregates accepted observations over a sliding window, retains sampled investigation history locally, and optionally exports event logs and browser traces through OTLP/gRPC. Native charts, session timelines and errors need no OTLP receiver. Country-only geolocation is the default; approximate city markers require explicit opt-in and remain live-only. Frustration heuristics are disabled by default and do not establish intent or causality. Application-provided user IDs remain original application-controlled identifiers, not anonymous values. URL/path and targeted text normalization are limited transformations, not general anonymization or consent handling. Event logs add searchable custom-event attributes and optional console messages; tracing adds sampled browser request spans. Both are disabled by default and have independent destinations.

This collector is only supported on the following platforms:

  • Linux
  • macOS

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

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

Sites are explicitly configured; websites are not discovered automatically.

Limits

Breakdown charts show current-window top groups. Missing browser observations cannot be reconstructed, and capacity loss suppresses affected percentiles and window counts. Duplicate detection is best effort across a bounded 30-minute retention period; capacity pressure or restart can shorten it. Quality alerts require at least 30 observations for that metric and complete local measurement state. Quiet traffic alone does not trigger an alert.

History uses one plugin-wide journal file-age and committed-byte retention target in dem.conf, including disabled sites. Whole archives expire; the active file is protected, so the size target is not a hard disk ceiling. Export/history queues count records dropped under backpressure. Detail sampling applies to native history and enabled event logs and traces. Problem overrides retain available recent native context with its original attribution, then current and future detail while the session remains tracked. Earlier logs and spans are not exported retrospectively; complete sessions or traces are not guaranteed. Export acceptance does not guarantee durable storage.

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.

Configure the receiver and site

Configure the canonical receiver in dem/receiver.conf, then add one job per website in dem/rum.conf. The native configuration UI exposes the receiver as a single object and sites as independently managed jobs.

Install the browser snippet

Add <script async src="https://rum.example.org/rum/shop.js"></script> to the website, replacing the public receiver URL and site key. Allow this collector and the pinned Faro SDK CDN in the website Content Security Policy.

Optional searchable event logs

Event logs and tracing are optional and disabled by default. Enable an OTLP/gRPC receiver separately. In the receiving Netdata node’s Logs tab, select otel-logs and the netdata-rum service. Filter the time range, resource.attributes.rum.site and attributes.session.id; inspect attributes.event.attr.<key> for custom-event attributes and attributes.console.level with the message body for console messages. Netdata log access requires Cloud sign-in. Console errors are logs; uncaught exceptions and unhandled rejections remain native RUM errors. Event data is sampled and independently retained by the destination.

Optional browser tracing

To follow a request into backend services, instrument those services, accept browser trace context, allow trace headers in cross-origin CORS, coordinate sampling and send both sides to the same tracing system. Browser spans alone show browser requests, not a complete backend trace. For an external receiver, look up a copied trace ID in that system. Netdata receiver selection and direct UI navigation are part of the later frontend integration.

Customize alerts

Stock health templates evaluate complete LCP, INP and CLS populations with at least 30 observations. Quiet traffic alone has no stock alert. Customize thresholds or disable alerts through normal Netdata health configuration; use the _collect_plugin=dem and _collect_job chart labels for site-specific policies.

Configuration

Options

Options apply independently to each site job. Native job name is the beacon and history identity; display_name is human metadata. Event logs and browser tracing each have a complete destination with no inheritance. Saved inactive settings are retained without endpoint or TLS validation, but all native secret references must resolve for the job to start.

GroupOptionDescriptionDefaultRequired
SitenameStable site identifier used in beacon URLs and history. Renaming creates a new history identity.yes
display_nameHuman-readable site name. Leave empty to use the site key.no
allowed_originsWeb origins allowed to send telemetry, such as https://example.org. A leading *. allows subdomains only.yes
public_urlExternally reachable collector base URL for this site. Leave empty to use the receiver public URL.no
Collectionupdate_everyData collection interval, in seconds.10no
windowReceiver-arrival window for recent browser measurements and distinct observed sessions. Accepts durations between 1m and 30m.5mno
page_groupsMaximum individual page groups shown in breakdown charts. Remaining groups are combined as other.20no
countriesMaximum individual countries shown in breakdown charts. Remaining countries are combined as other.20no
botsExclude crawlers and browser automation by default, or include them as bot traffic.excludeno
CapturecaptureChoose optional location and interaction evidence independently of sampling. Defaults retain country comparisons and disable frustration heuristics.no
capture.geolocationIP-derived location detail: off disables lookup, country retains country comparisons, and city adds approximate live map markers. Omitted or null means country; coordinates are never retained in history or exported.countryno
capture.frustration_signalsEnable rage, dead and error click heuristics and their browser instrumentation. Disabled by default; these signals do not establish user intent or causality.nono
Samplingmeasure_sample_rateShare of browser sessions collected, from 0 to 1. Omitted or null means all; zero disables collection. Browser measurement charts are absent while collection is disabled; receiver diagnostics remain available.1no
investigateSelect native investigation history and enabled event-log and trace exports from received sessions. Leave empty to select all received sessions.no
investigate.sample_rateBaseline share of received sessions selected for detail, from 0 to 1. Omitted or null means all; zero selects only the problem overrides below.1no
investigate.always_keepConditions that select detail beyond the baseline sample. Omitted or null keeps errors and poor vitals; an empty list disables overrides.[“errors”,“poor_vitals”]no
Event logsevent_logsExport sampled browser events for search, including custom-event attributes. Native RUM history works independently.no
event_logs.enabledSend event logs to the configured destination. Disabled by default; native charts, sessions and errors remain available.nono
event_logs.include_console_logsCapture console info, warn and error messages for investigated sessions. Effective only when event logs are enabled.nono
event_logs.destinationReceiver for this signal only. Leave unset to use the local OTLP/gRPC receiver.no
event_logs.destination.endpointOTLP/gRPC receiver URL with an explicit port. Use http for plaintext or https for TLS; paths, credentials, query strings and fragments are not allowed.http://127.0.0.1:4317no
event_logs.destination.auth_tokenBearer token accepted by the receiver. Use a native secret reference; leave empty for no authentication.no
event_logs.destination.tls_caCA certificate file for verifying an HTTPS receiver. Leave empty to use system roots.no
event_logs.destination.tls_certClient certificate file for an HTTPS receiver. Set together with TLS key; leave both empty to omit client authentication.no
event_logs.destination.tls_keyClient private key file for an HTTPS receiver. Set together with TLS client certificate.no
Browser tracingtracingCapture browser request spans and propagate trace context. Backend spans require separately instrumented services.no
tracing.enabledCapture and export browser spans independently of event logs. Disabled by default.nono
tracing.propagate_toAdditional literal API origins receiving trace headers. Same-origin requests receive them automatically; cross-origin APIs must allow the trace headers in CORS.no
tracing.destinationReceiver for this signal only. Leave unset to use the local OTLP/gRPC receiver.no
tracing.destination.endpointOTLP/gRPC receiver URL with an explicit port. Use http for plaintext or https for TLS; paths, credentials, query strings and fragments are not allowed.http://127.0.0.1:4317no
tracing.destination.auth_tokenBearer token accepted by the receiver. Use a native secret reference; leave empty for no authentication.no
tracing.destination.tls_caCA certificate file for verifying an HTTPS receiver. Leave empty to use system roots.no
tracing.destination.tls_certClient certificate file for an HTTPS receiver. Set together with TLS key; leave both empty to omit client authentication.no
tracing.destination.tls_keyClient private key file for an HTTPS receiver. Set together with TLS client certificate.no
Normalizationredact_pathsApply site-specific URL-path replacements before built-in normalization. These rules do not anonymize user IDs or provide general data-loss prevention.no
redact_paths[].patternGo regular expression matching private path identifiers. Empty patterns are ignored.no
redact_paths[].replaceReplacement text for matching path segments. Leave empty to remove them.no

via File

The configuration file name for this integration is dem/rum.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/rum.conf
Examples
Website

Native charts, session timelines and errors, with country-only location and frustration heuristics disabled. No OTLP receiver is required.

jobs:
  - name: shop
    allowed_origins: [https://shop.example.org]
Problems-only detail

Keep measurements and live views for all received traffic, with detail selected only for errors or poor vitals by the default problem overrides.

jobs:
  - name: shop
    allowed_origins: [https://shop.example.org]
    investigate:
      sample_rate: 0
Measurements and live views only

Keep measurements and live views without retained native detail or event-log and trace exports, even when those exports are enabled.

jobs:
  - name: shop
    allowed_origins: [https://shop.example.org]
    investigate:
      sample_rate: 0
      always_keep: []
Searchable event logs

Search sampled events and optional console messages with a local OTLP/gRPC receiver at http://127.0.0.1:4317. Enable that receiver separately.

jobs:
  - name: shop
    allowed_origins: [https://shop.example.org]
    event_logs:
      enabled: true
      include_console_logs: true
Browser tracing

Send browser spans to your backend tracing receiver without enabling event logs. Provide the secret and configure backend instrumentation, context propagation, CORS and compatible sampling separately.

jobs:
  - name: shop
    allowed_origins: [https://shop.example.org]
    tracing:
      enabled: true
      propagate_to: [https://api.example.org]
      destination:
        endpoint: https://traces.example.org:4317
        auth_token: ${env:TRACE_EXPORT_TOKEN}

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.

All charts remain on this Agent. Native job identity scopes site charts; display_name is optional metadata. The window uses receiver arrival time. Each Web Vital contributes its latest report per document experience; percentiles cannot be averaged across times or groups. Population charts show retained observations and ratings. No observations means no percentile. Capacity loss makes affected percentiles and counts unavailable; lost_reports is retained loss evidence, not a denominator or an exact count of missing observations in the window.

Document views count initial activations and back-forward cache restores. Application views count explicit route occurrences separately. Observed sessions are distinct browser session identities seen in the window, not concurrent users. JavaScript errors are events; errors divided by document views is not a failure percentage. Breakdowns use current-window top groups plus a pooled other bucket; page Functions expose all retained document-entry groups.

The event-log (rum.otlp) and browser-span (rum.spans) charts and their loss alerts exist only while their respective feature is enabled. sent counts records accepted by the receiver; errors counts records whose attempted delivery failed or was rejected; dropped counts local queue or shutdown loss. Acceptance does not guarantee queryability or durable storage. A timeout can have an unknown delivery outcome. Disablement and sampling do not count as loss.

Per site

One configured site.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.

Metrics:

MetricDescriptionDimensionsUnit
rum.lcpLargest Contentful Paint among recent observed document experiencesp50, p75, p95milliseconds
rum.lcp_populationLargest Contentful Paint observed populationobserved, good, needs_improvement, poor, lost_reportsobservations
rum.fcpFirst Contentful Paint among recent observed document experiencesp50, p75, p95milliseconds
rum.fcp_populationFirst Contentful Paint observed populationobserved, good, needs_improvement, poor, lost_reportsobservations
rum.ttfbTime to First Byte among recent observed document experiencesp50, p75, p95milliseconds
rum.ttfb_populationTime to First Byte observed populationobserved, good, needs_improvement, poor, lost_reportsobservations
rum.inpInteraction to Next Paint among recent observed document experiencesp50, p75, p95milliseconds
rum.inp_populationInteraction to Next Paint observed populationobserved, good, needs_improvement, poor, lost_reportsobservations
rum.clsCumulative Layout Shift among recent observed document experiencesp50, p75, p95score
rum.cls_populationCumulative Layout Shift observed populationobserved, good, needs_improvement, poor, lost_reportsobservations
rum.loadDocument load timep50, p75, p95milliseconds
rum.dom_content_loaded_handlerDOMContentLoaded handler durationp50, p75, p95milliseconds
rum.same_site_fetchSame-site fetch and XHR durationp50, p75, p95milliseconds
rum.load_populationDocument load time observation populationobserved, lost_reportsobservations
rum.dom_content_loaded_handler_populationDOMContentLoaded handler duration observation populationobserved, lost_reportsobservations
rum.same_site_fetch_populationSame-site fetch and XHR duration observation populationobserved, lost_reportsobservations
rum.document_viewsDocument viewsviewsviews/s
rum.js_errorsJavaScript errorserrorserrors/s
rum.observed_sessionsSessions observed in the windowobservedsessions
rum.window_totalsDocument views, application views and JavaScript errors in the windowdocument_views, application_views, js_errorsevents
rum.frustrationFrustration heuristicsrage_clicks, dead_clicks, error_clickssignals/s
rum.application_viewsExplicit application viewsviewsviews/s
rum.measurement_lossRetained capacity-loss evidence for window summariesactivity, sessionsreports
rum.resourcesReported application resource entriessame_site, cross_site, unknownentries/s
rum.beaconsRUM beaconsaccepted, rejected_origin, rejected_rate, rejected_size, invalid, botsbeacons/s
rum.otlpEvent log export outcomessent, dropped, errorsrecords/s
rum.historyRUM history writeswritten, droppedrecords/s
rum.spansBrowser span export outcomessent, dropped, errorsspans/s
rum.samples_droppedReports lost from bounded measurement statedroppedreports/s
rum.ingress_stateRUM ingress availabilityavailable, unavailablestate
rum.invalid_measurementsMeasurements without valid identity or revisioninvalidreports/s

Per site host

One configured site grouped by host.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
hostResource host.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.resource_host_p75Resource duration by host in the windowp75milliseconds
rum.resource_host_countReported resource entries by host in the windowcountentries
rum.resource_host_populationResource duration population by hostobserved, lost_reportsobservations
rum.resource_host_lossRetained capacity-loss evidence for resource counts by hostlost_reportsreports

Per site fingerprint

One configured site grouped by fingerprint.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
fingerprintError fingerprint.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.error_groupsJavaScript error reports by fingerprint in the windowerrorsreports
rum.error_group_lossRetained capacity-loss evidence for error fingerprintslost_reportsreports

Per site browser

One configured site grouped by browser.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
browserBrowser name.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.browser_lcpLCP by browser among recent observed document experiencesp75milliseconds
rum.browser_fcpFCP by browser among recent observed document experiencesp75milliseconds
rum.browser_ttfbTTFB by browser among recent observed document experiencesp75milliseconds
rum.browser_inpINP by browser among recent observed document experiencesp75milliseconds
rum.browser_clsCLS by browser among recent observed document experiencesp75score
rum.browser_document_viewsDocument views by browser in the windowviewsviews
rum.browser_js_errorsJavaScript error reports by browser in the windowerrorsreports
rum.browser_vital_populationWeb Vital observation populations by browserlcp, fcp, ttfb, inp, clsobservations
rum.browser_lossRetained capacity-loss evidence by browseractivity, lcp, fcp, ttfb, inp, clsreports

Per site device

One configured site grouped by device.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
deviceDevice class.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.device_lcpLCP by device among recent observed document experiencesp75milliseconds
rum.device_fcpFCP by device among recent observed document experiencesp75milliseconds
rum.device_ttfbTTFB by device among recent observed document experiencesp75milliseconds
rum.device_inpINP by device among recent observed document experiencesp75milliseconds
rum.device_clsCLS by device among recent observed document experiencesp75score
rum.device_document_viewsDocument views by device in the windowviewsviews
rum.device_js_errorsJavaScript error reports by device in the windowerrorsreports
rum.device_vital_populationWeb Vital observation populations by devicelcp, fcp, ttfb, inp, clsobservations
rum.device_lossRetained capacity-loss evidence by deviceactivity, lcp, fcp, ttfb, inp, clsreports

Per site country

One configured site grouped by country.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
countryCountry code.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.country_lcpLCP by country among recent observed document experiencesp75milliseconds
rum.country_fcpFCP by country among recent observed document experiencesp75milliseconds
rum.country_ttfbTTFB by country among recent observed document experiencesp75milliseconds
rum.country_inpINP by country among recent observed document experiencesp75milliseconds
rum.country_clsCLS by country among recent observed document experiencesp75score
rum.country_document_viewsDocument views by country in the windowviewsviews
rum.country_js_errorsJavaScript error reports by country in the windowerrorsreports
rum.country_vital_populationWeb Vital observation populations by countrylcp, fcp, ttfb, inp, clsobservations
rum.country_lossRetained capacity-loss evidence by countryactivity, lcp, fcp, ttfb, inp, clsreports

Per site page

One configured site grouped by page.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
pageNormalized document-entry path.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.page_lcpLCP by page among recent observed document experiencesp75milliseconds
rum.page_fcpFCP by page among recent observed document experiencesp75milliseconds
rum.page_ttfbTTFB by page among recent observed document experiencesp75milliseconds
rum.page_inpINP by page among recent observed document experiencesp75milliseconds
rum.page_clsCLS by page among recent observed document experiencesp75score
rum.page_document_viewsDocument views by page in the windowviewsviews
rum.page_js_errorsJavaScript error reports by page in the windowerrorsreports
rum.page_vital_populationWeb Vital observation populations by pagelcp, fcp, ttfb, inp, clsobservations
rum.page_lossRetained capacity-loss evidence by pageactivity, lcp, fcp, ttfb, inp, clsreports

Per site version

One configured site grouped by version.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
versionApplication version.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.version_lcpLCP by version among recent observed document experiencesp75milliseconds
rum.version_fcpFCP by version among recent observed document experiencesp75milliseconds
rum.version_ttfbTTFB by version among recent observed document experiencesp75milliseconds
rum.version_inpINP by version among recent observed document experiencesp75milliseconds
rum.version_clsCLS by version among recent observed document experiencesp75score
rum.version_document_viewsDocument views by version in the windowviewsviews
rum.version_js_errorsJavaScript error reports by version in the windowerrorsreports
rum.version_vital_populationWeb Vital observation populations by versionlcp, fcp, ttfb, inp, clsobservations
rum.version_lossRetained capacity-loss evidence by versionactivity, lcp, fcp, ttfb, inp, clsreports

Per site view

One configured site grouped by view.

Labels:

LabelDescription
display_nameOptional human-readable site name, present when display_name differs from the native site job name.
viewNormalized application-view label.
bucketvalue for a reported label; other for the pooled complement; unknown for unavailable resource hosts.

Metrics:

MetricDescriptionDimensionsUnit
rum.view_activityExplicit application views and error reports in the windowviews, errorsevents
rum.view_lossRetained capacity-loss evidence by application viewlost_reportsreports

Alerts

The following alerts are available:

Alert nameOn metricDescription
rum_lcp_experience_qualityrum.lcp_populationLargest Contentful Paint exceeds its good threshold for more than 25% of recent observed document experiences; critical when more than 25% exceed its poor threshold. Requires at least 30 observations and a complete local population.
rum_inp_experience_qualityrum.inp_populationInteraction to Next Paint exceeds its good threshold for more than 25% of recent observed document experiences; critical when more than 25% exceed its poor threshold. Requires at least 30 observations and a complete local population.
rum_cls_experience_qualityrum.cls_populationCumulative Layout Shift exceeds its good threshold for more than 25% of recent observed document experiences; critical when more than 25% exceed its poor threshold. Requires at least 30 observations and a complete local population.
rum_events_droppedrum.otlpRUM event log delivery failed or records were locally dropped in the last 5 minutes
rum_spans_droppedrum.spansRUM browser span delivery failed or spans were locally dropped in the last 5 minutes

Live Data

Use these process-wide Functions through the Netdata Agent or Cloud to inspect RUM setup, live activity and retained investigation history. Invoke their public rum-* names; filter by site where supported.

RUM Sites

Inspect site setup, sampling, receiver availability and recent activity to diagnose missing browser data.

AspectDescription
NameRum-sites
Require Cloudno
PerformanceReads bounded local activity snapshots without contacting the monitored website.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running; activity comes from admitted site jobs.

Prerequisites

No additional configuration is required.

Parameters

This function has no parameters.

Returns

One admitted site job. The response also includes collector public URL and ingress availability.

ColumnTypeUnitVisibilityDescription
sitestringSite.
namestringName.
statusstringStatus.
beacon_urlstringBeacon URL.
snippetstringSnippet.
allowed_originsstringAllowed Origins.
beacons_per_minintegerBeacons / min.
last_beacon_age_sintegerLast Beacon (s ago).
observed_sessionsintegerDistinct browser session identities observed within the measurement window; not concurrent users.
pageviews_windowintegerExplicit document activations in the window.
js_errors_windowintegerJS Errors (window).
rejected_per_minintegerRejected / min.
reachablestringReachable.
reach_detailstringReachability Detail.
measuredstringMeasured.
investigatedstringInvestigated.
investigated_sessionsintegerSessions currently tracked for investigation; separate from observed measurement-window sessions.
bots_per_minintegerBots Filtered / min.
snippet_checkstringSnippet On Site.
snippet_detailstringSnippet Detail.
last_rejected_originstringLast Rejected Origin.
last_rejected_age_sintegerLast Rejection (s ago).
capture_geolocationstringCurrent Geolocation Capture.
capture_frustration_signalsbooleanCurrent Frustration Capture.
application_views_windowintegerExplicit application-view occurrences in the window.
window_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.
sessions_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.

RUM Pages

Compare document-entry pages using recent observed traffic, Web Vital populations and attributed elements.

AspectDescription
NameRum-pages
Require Cloudno
PerformanceReads bounded local activity snapshots without contacting the monitored website.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running; activity comes from admitted site jobs.

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
sitestringFilter by native site job name. Leave empty to include all sites.no

Returns

All retained document-entry groups, independent of chart top groups. Null values indicate absent or incomplete measurements; loss fields identify retained capacity-loss evidence.

ColumnTypeUnitVisibilityDescription
sitestringSite.
pagestringPage.
pageviews_windowintegerExplicit document activations in the window.
sessionsintegerDistinct browser session identities observed within the window.
lcp_p75_msintegerLCP p75 (ms).
inp_p75_msintegerINP p75 (ms).
cls_p75floatCLS p75.
errors_windowintegerJS Errors (window).
lcp_elementstringLCP Element.
inp_elementstringINP Element.
cls_elementstringCLS Element.
frustration_windowintegerFrustration Signals (window).
row_idstringhiddenStable row identity scoped to the site; the visible values remain available for filtering.
lcp_samplesintegerRetained observations for LCP.
inp_samplesintegerRetained observations for INP.
cls_samplesintegerRetained observations for CLS.
lcp_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.
inp_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.
cls_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.
window_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.
sessions_lostintegerRetained capacity-loss evidence; affected measurements are unavailable.

RUM Live

Read recent browser events for live activity views, optionally continuing from a previous response.

AspectDescription
NameRum-live
Require Cloudno
PerformanceReads bounded local activity snapshots without contacting the monitored website.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running; activity comes from admitted site jobs.

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
sitestringFilter by native site job name. Leave empty to include all sites.no
afterstringOpaque next cursor from the previous rum-live response. Pass it unchanged; leave empty for recent events.no

Returns

Recent observation rows. Vital revisions update the same document metric; rows are not independent document views.

ColumnTypeUnitVisibilityDescription
seqstringEvent.
tstimestampTime.
sitestringSite.
countrystringCountry.
citystringCity.
latfloatLatitude.
lonfloatLongitude.
pagestringPage.
browserstringBrowser.
devicestringDevice.
pageviewintegerExplicit document activation.
lcp_msfloatLCP (ms).
inp_msfloatINP (ms).
fcp_msfloatFCP (ms).
ttfb_msfloatTTFB (ms).
clsfloatCLS.
errorsintegerJS Errors.
kindstringObservation kind; one vital row represents one metric report.
experience_idstringDocument activation identity, independent of session and application view.
viewstringApplication view when this report was created.
view_idstringApplication-view occurrence identity.
vitalstringWeb Vital reported by this row.
metric_idstringBrowser SDK metric identity.
revisionintegerIncreasing report revision within this metric or event identity.

RUM Sessions

Investigate retained sampled sessions that overlap a time range, including pages, errors and optional interaction heuristics.

AspectDescription
NameRum-sessions
Require Cloudno
PerformanceReads local retained history; work grows with the selected range and retained records.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running. History results require retained investigation data.

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
sitestringFilter by native site job name. Leave empty to include all sites.no
user_idstringExact application user ID observed in retained events in the selected range. Leave empty to include all sessions.no
afterintegerStart of the saved-time range as Unix seconds or a negative offset from now.no15 minutes before before
beforeintegerEnd of the saved-time range as Unix seconds or a negative offset from now.nonow

Returns

One session with retained activity saved in the selected range. Counts and activity span cover retained events, not lifetime totals. Results can include disabled sites until their history expires.

ColumnTypeUnitVisibilityDescription
sitestringSite.
session_idstringSession.
started_age_sintegerFirst Retained Event (s ago).
duration_sintegerRetained Activity Span (s).
pageviewsintegerRetained document activations.
errorsintegerJS Errors.
browserstringBrowser.
devicestringDevice.
countrystringCountry.
versionstringVersion.
entry_pagestringEntry Page.
last_pagestringLast Page.
user_idsarrayObserved User IDs.
frustrationsintegerRetained Frustration Signals.
row_idstringhiddenStable row identity scoped to the site; the visible values remain available for filtering.
application_viewsintegerRetained application-view occurrences.

RUM Errors

Group errors saved in the selected range by fingerprint; select a fingerprint to investigate affected sessions, pages and browsers.

AspectDescription
NameRum-errors
Require Cloudno
PerformanceReads local retained history; work grows with the selected range and retained records.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running. History results require retained investigation data.

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
sitestringFilter by native site job name. Leave empty to include all sites.no
fingerprintstringSelect an error fingerprint to compute affected-session, top-page and browser statistics. Leave empty for the count overview.no
afterintegerStart of the saved-time range as Unix seconds or a negative offset from now.no15 minutes before before
beforeintegerEnd of the saved-time range as Unix seconds or a negative offset from now.nonow

Returns

One error fingerprint per site with events saved in the selected range. Affected-session, page and browser statistics are null until a fingerprint is selected; first and last seen use original event time. Results can include disabled sites until their history expires.

ColumnTypeUnitVisibilityDescription
sitestringSite.
fingerprintstringFingerprint.
typestringType.
messagestringMessage.
count_windowintegerCount (window).
sessions_affectedintegerSessions Affected (selected fingerprint).
first_seen_age_sintegerFirst Seen (s ago).
last_seen_age_sintegerLast Seen (s ago).
top_pagestringTop Page (selected fingerprint).
browsersstringBrowsers (selected fingerprint).
sample_stackstringSample Stack.
row_idstringhiddenStable row identity scoped to the site; the visible values remain available for filtering.

RUM Session Events

Read the retained event timeline for a session to follow navigation, errors and traced requests.

AspectDescription
NameRum-session-events
Require Cloudno
PerformanceReads local retained history; work grows with the selected range and retained records.
SecurityResults can include page paths, browser metadata, user identifiers, error messages and stack traces. Restrict access to authorized operators.
AvailabilityAvailable while dem.plugin is running. History results require retained investigation data.

Prerequisites

No additional configuration is required.

Parameters

ParameterTypeDescriptionRequiredDefaultOptions
sitestringFilter by native site job name. Leave empty to include all sites.no
session_idstringSession identifier returned by rum-sessions. Specify site when the same session identifier exists on multiple sites.yes

Returns

One retained or pending session event, with original observation time in Unix microseconds and an optional trace identifier. The available session timeline is returned without range filtering. Unknown sessions return an error.

ColumnTypeUnitVisibilityDescription
tstimestampTime.
typestringEvent.
pagestringPage.
textstringDetails.
trace_idstringTrace.
user_idstringUser ID at Event.
experience_idstringDocument activation identity, independent of session and application view.
viewstringApplication view when this report was created.
view_idstringApplication-view occurrence identity.
metric_idstringBrowser SDK metric identity.
revisionintegerIncreasing report revision within this metric or event identity.

Troubleshooting

Other Problems

No browser measurements

Check receiver availability, the installed snippet URL and the site allowed origins. Open the rum-sites Function for reachability and rejected-origin diagnostics. Missing vital samples produce gaps, including when the receiver is unavailable.

Missing exported events or spans

Check that the required signal is enabled and its receiver accepts OTLP/gRPC at the configured explicit http or https URL and port. Verify Bearer authentication, TLS trust and paired client certificate/key files. The event and span charts distinguish receiver-accepted records, failed or rejected delivery, and local queue/shutdown loss. A timeout may have an unknown delivery outcome; zero traffic proves neither failure nor success. Receiver failures do not stop native history.

The observability platform companies need to succeed

Sign up for free

Want a personalised demo of Netdata for your use case?

Contact Sales