Skip to main content

Grafana Dashboards & Statistics

OmniWeb embeds Grafana directly into the portal so operators can see dashboards and statistics for any element — and the network as a whole — without a separate login or browser tab.

← Back to Operations Guide

How It Works

Grafana is served behind nginx at the /grafana/ path and embedded as an iframe inside OmniWeb. Authentication is transparent: when you are logged into OmniWeb, Grafana access is authorised automatically using nginx's auth_request mechanism against your OmniWeb JWT. There is no second password.

The Grafana instance OmniWeb proxies to is configured by the GRAFANA_URL environment variable (default http://localhost:3000). In development, Vite proxies /grafana to the backend; in production, nginx handles path stripping, proxying, and the auth_request check.

Two Ways to Reach Dashboards

1. Per-element Dashboards tab

Elements that are tagged for Grafana show a Dashboards tab in their workspace. OmniWeb queries Grafana for dashboards matching that element's tags and renders the relevant one inline. This keeps an element's stats next to its operational data.

Tag matching is case-insensitive. Representative tag sets:

ElementGrafana tags matched
UPFupf
P-CSCFpcscf, cscf
I-CSCFicscf, cscf
S-CSCFscscf, cscf
PGW-C, MME, SMSC, DRA, OCS, TASelement-specific tags

To make a dashboard appear under an element, tag it in Grafana with that element's tag (for example, tag a UPF dashboard upf).

2. Grafana sidebar

The sidebar's Grafana → Dashboards entry lists all available dashboards. Selecting one opens it inline within OmniWeb, and the URL updates to reflect the dashboard path so you can deep-link to a specific dashboard.

Statistics

The embedded dashboards are where network-wide and per-element statistics live: session counts and rates, throughput, latency, drop rates, Diameter/PFCP peer health over time, CDR volumes, registration counts, and capacity trends. OmniWeb's own element pages give you the current state (and let you act on it); Grafana gives you the historical picture and trends. They are designed to be used together — investigate a Grafana alert by jumping to the element's operational pages, logs, and traces.

Alerting

Grafana's built-in alerting engine handles all threshold-based alerts. Alert rules are defined in Grafana and can notify via email, Slack, PagerDuty, or webhook. OmniWeb does not duplicate alerting — it provides the operational context (element pages, logs, traces) needed to investigate when an alert fires.

Common alert categories:

CategoryExamples
AvailabilityElement unreachable, Diameter peer down, PFCP association lost
CapacityIP pool exhaustion, eBPF map utilisation > 80%, VLR subscriber count threshold
PerformanceSession setup latency, XDP drop rate, heartbeat failures
TrafficAbnormal CDR volume, call drop rate, SMS delivery failures
  1. Confirm the trend in Grafana (Dashboards).
  2. Check current state on the element's Overview.
  3. Read the element's Logs around the alert time.
  4. If subscriber-specific, run a Session Trace. See Logs & Subscriber Tracing.