Documentation Index
Fetch the complete documentation index at: https://mintlify.com/abelperezr/nokia-bng-lab/llms.txt
Use this file to discover all available pages before exploring further.
Telemetry Overview
The Nokia BNG Lab includes a complete telemetry stack for real-time monitoring and visualization of network metrics using gNMI streaming telemetry.Why Telemetry Matters
Telemetry provides:- Real-time visibility into network performance and health
- Historical data for trend analysis and capacity planning
- Automated monitoring without polling overhead
- Granular metrics at 5-second intervals
- Efficient streaming using gRPC and Protocol Buffers
Telemetry Architecture
The lab uses a modern observability stack:Components and Roles
gNMIc - Telemetry Collector
Role: Subscribe to gNMI streams from Nokia devices and convert data to Prometheus format Key Features:- Auto-discovers Containerlab nodes via Docker socket
- Maintains persistent gRPC connections
- Processes and transforms telemetry data
- Exposes metrics in Prometheus format
gnmic (10.77.1.12)Port: 9273 (Prometheus exporter)
Config:
configs/gnmic/config.yml
gNMIc automatically discovers all Nokia nodes in the lab and subscribes to their telemetry streams without manual configuration.
Prometheus - Time Series Database
Role: Store, query, and alert on time-series metrics data Key Features:- Scrapes metrics from gNMIc every 5 seconds
- Stores historical data for trend analysis
- Provides PromQL query language
- High-performance time-series storage
prometheus (10.77.1.13)Port: 9090 (Web UI)
Config:
configs/prometheus/prometheus.yml
Grafana - Visualization Platform
Role: Create dashboards and visualize telemetry data Key Features:- Pre-configured dashboards for SROS and SR Linux
- Real-time metric visualization
- Customizable panels and queries
- Anonymous access enabled for easy viewing
grafana (10.77.1.14)Port: 3030 (Web UI)
Credentials: admin/admin
Config:
configs/grafana/
Data Flow Explained
1. Telemetry Generation
Nokia devices continuously generate telemetry data for subscribed paths:- SROS devices (BNG1, BNG2): Interface stats, BNG sessions, system metrics
- SR Linux devices (Switch, OLT, TX): Port stats, CPU/memory, BGP statistics
2. gNMI Streaming
Devices push data to gNMIc via gRPC:3. Data Processing
gNMIc applies processors to:- Remove path prefixes (e.g.,
/state/) - Extract labels from paths
- Convert state values (up=1, down=0)
- Group metrics by interface
4. Prometheus Export
gNMIc exposes processed metrics athttp://gnmic:9273/metrics
5. Metric Storage
Prometheus scrapes gNMIc every 5 seconds and stores time-series data6. Visualization
Grafana queries Prometheus and renders dashboards with real-time dataAvailable Telemetry Data
SROS Metrics (BNG1, BNG2)
Port Statistics
Port Statistics
- Interface operational state
- Ingress/egress packets and bytes
- Ethernet frame counters
- Error counters
System Metrics
System Metrics
- CPU utilization per slot
- Memory usage and pools
- Temperature sensors
- Fan speeds
BNG Session Metrics
BNG Session Metrics
- Local user database (LUDB) entries
- IPoE session counts
- PPPoE session counts
- VPLS SAP statistics
Routing Metrics
Routing Metrics
- BGP statistics and route counts
- ISIS statistics
- Route table entries (IPv4/IPv6)
- Interface routing statistics
SR Linux Metrics (Switch, OLT, TX)
Platform Metrics
Platform Metrics
- CPU utilization per control slot
- Memory usage
- Application management stats
Interface Statistics
Interface Statistics
- Ethernet interface statistics
- Subinterface counters
- Operational state
- Traffic rates
Protocol Statistics
Protocol Statistics
- BGP neighbor statistics
- Network instance route counts
- LAG/LACP statistics
Getting Started with Telemetry
Step 1: Verify Stack is Running
Step 2: Access Grafana
Open your browser to:No login required - anonymous access is enabled. To access admin features, use credentials: admin/admin
Step 3: Explore Dashboards
Navigate to Dashboards → Browse to see:- SROS Dashboard: BNG metrics, interface stats, system health
- SR Linux Telemetry: Platform metrics, interface statistics
Step 4: Query Prometheus Directly
Access Prometheus UI at:Step 5: Verify gNMI Subscriptions
Telemetry Configuration Files
All telemetry configuration is located inconfigs/:
Next Steps
Configure gNMIc
Learn about gNMI subscriptions and collectors
Query Prometheus
Write PromQL queries and explore metrics
Grafana Dashboards
Customize and create new dashboards
Available Metrics
Full catalog of Nokia SROS metrics
Troubleshooting
Grafana shows 'No data'
Grafana shows 'No data'
- Verify Prometheus is running:
curl http://localhost:9090/-/healthy - Check Prometheus targets: Navigate to http://localhost:9090/targets
- Ensure gNMIc is exposing metrics:
curl http://localhost:9273/metrics
gNMIc not collecting data
gNMIc not collecting data
- Check gNMIc logs:
sudo docker logs gnmic - Verify devices are reachable:
sudo docker exec gnmic ping bng1 - Check gNMI port is open on devices (57400)
Prometheus not scraping gNMIc
Prometheus not scraping gNMIc
- Check Prometheus config:
sudo docker exec prometheus cat /etc/prometheus/prometheus.yml - Verify network connectivity:
sudo docker exec prometheus wget -O- http://gnmic:9273/metrics - Review Prometheus logs:
sudo docker logs prometheus
High memory usage
High memory usage
Prometheus stores metrics in memory. To reduce usage:
- Decrease retention time (default: 15 days)
- Reduce scrape interval in
prometheus.yml - Limit subscription paths in gNMIc config