Skip to main content

Available Metrics Catalog

This page documents all telemetry metrics available from Nokia SROS and SR Linux devices in the BNG lab.

Metric Overview

Metrics are collected via gNMI streaming telemetry at 5-second intervals and exported to Prometheus. Metric Types:
  • Counter: Cumulative value that only increases (resets on restart)
  • Gauge: Value that can increase or decrease
  • String: Converted to labels in Prometheus
Naming Convention:
  • SROS: /state/ prefix removed by gNMIc processor
  • SR Linux: YANG path structure preserved
  • Underscores separate path elements

SROS Metrics (BNG1, BNG2)

Metrics from Nokia Service Router Operating System devices.

Port Statistics

Physical interface metrics from /state/port/statistics/ and /state/port/ethernet/statistics/
MetricTypeDescription
port_statistics_in_packetsCounterTotal ingress packets
port_statistics_out_packetsCounterTotal egress packets
port_statistics_in_octetsCounterTotal ingress bytes
port_statistics_out_octetsCounterTotal egress bytes
Labels: device, port_idExample Query:
# Ingress traffic rate (bps)
rate(port_statistics_in_octets{device="bng1"}[5m]) * 8

# Packets per second
rate(port_statistics_in_packets{device="bng1",port_id="1/1/c1/1"}[5m])

System Metrics

Device-level resource usage from /state/system/
MetricTypeDescription
system_cpuGaugeCPU utilization percentage (0-100)
Labels: device, sample_periodExample Query:
# Current CPU usage
system_cpu{device="bng1"}

# Average CPU across all BNGs
avg(system_cpu{device=~"bng.*"})

# Max CPU in last hour
max_over_time(system_cpu{device="bng1"}[1h])
MetricTypeDescription
system_memory_pools_in_useGaugeMemory currently in use (bytes)
system_memory_pools_availableGaugeTotal available memory (bytes)
system_memory_pools_freeGaugeFree memory (bytes)
Labels: device, pool_nameExample Query:
# Memory utilization percentage
(system_memory_pools_in_use / system_memory_pools_available) * 100

# Free memory in GB
system_memory_pools_free / 1024 / 1024 / 1024
MetricTypeDescription
card_hardware_data_temperatureGaugeCard temperature (Celsius)
chassis_chassis_control_module_hardware_data_temperatureGaugeControl module temperature
Labels: device, slot_number, ccm_slotExample Query:
# All temperature sensors
card_hardware_data_temperature

# High temperature alert
card_hardware_data_temperature > 70
MetricTypeDescription
chassis_fan_speedGaugeFan speed (RPM)
Labels: device, chassis_class, chassis_number, fan_slotExample Query:
# Fan speeds by device
chassis_fan_speed{device="bng1"}

BNG Session Metrics

Subscriber and session management from /state/subscriber-mgmt/
MetricTypeDescription
subscriber_mgmt_local_user_db_ipoe_session_stats_currentGaugeCurrent active IPoE sessions
subscriber_mgmt_local_user_db_ipoe_session_stats_peakGaugePeak IPoE sessions
subscriber_mgmt_local_user_db_ipoe_session_stats_setupCounterTotal IPoE sessions established
subscriber_mgmt_local_user_db_ipoe_session_stats_setup_failedCounterFailed IPoE session attempts
Labels: device, name (LUDB name)Example Query:
# Total active sessions
sum(subscriber_mgmt_local_user_db_ipoe_session_stats_current)

# Sessions per BNG
sum by (device) (subscriber_mgmt_local_user_db_ipoe_session_stats_current)

# Session setup rate
rate(subscriber_mgmt_local_user_db_ipoe_session_stats_setup[5m])

# Failed session rate
rate(subscriber_mgmt_local_user_db_ipoe_session_stats_setup_failed[5m])
MetricTypeDescription
service_vpls_sap_oper_stateGaugeSAP operational state (1=up, 0=down)
service_vpls_sap_ingress_packetsCounterPackets received on SAP
service_vpls_sap_egress_packetsCounterPackets sent on SAP
service_vpls_sap_ingress_octetsCounterBytes received on SAP
service_vpls_sap_egress_octetsCounterBytes sent on SAP
Labels: device, service_name, sap_idExample Query:
# SAP traffic rate
rate(service_vpls_sap_ingress_octets[5m]) * 8

# Down SAPs
service_vpls_sap_oper_state == 0

Routing Protocol Metrics

MetricTypeDescription
router_bgp_statistics_total_routesGaugeTotal BGP routes
router_bgp_statistics_total_pathsGaugeTotal BGP paths
router_bgp_statistics_routes_per_family_receivedGaugeRoutes received per AFI/SAFI
router_bgp_statistics_routes_per_family_activeGaugeActive routes per AFI/SAFI
router_bgp_neighbor_statistics_received_prefixesGaugePrefixes from neighbor
router_bgp_neighbor_statistics_active_prefixesGaugeActive prefixes from neighbor
Labels: device, family (ipv4, ipv6, etc.)Example Query:
# Total BGP routes
router_bgp_statistics_total_routes

# IPv4 routes
router_bgp_statistics_routes_per_family_active{family="ipv4"}

# Routes per neighbor
router_bgp_neighbor_statistics_received_prefixes

Service Statistics

MetricTypeDescription
service_vpls_oper_stateGaugeVPLS service state (1=up, 0=down)
Labels: device, service_nameExample Query:
# Down VPLS services
service_vpls_oper_state == 0

# Count of active VPLS per device
count by (device) (service_vpls_oper_state == 1)
MetricTypeDescription
service_vprn_oper_stateGaugeVPRN service state (1=up, 0=down)
Labels: device, service_nameExample Query:
# All VPRN services
service_vprn_oper_state

SR Linux Metrics (Switch, OLT, TX)

Metrics from Nokia SR Linux network operating system.

Platform Metrics

Hardware resource monitoring from /platform/
MetricTypeDescription
platform_control_cpu_totalGaugeTotal CPU usage percentage
Labels: device, slot, indexExample Query:
# CPU per control module
platform_control_cpu_total

# Average CPU per device
avg by (device) (platform_control_cpu_total)
MetricTypeDescription
platform_control_memory_physicalGaugeTotal physical memory (bytes)
platform_control_memory_reservedGaugeReserved memory (bytes)
platform_control_memory_freeGaugeFree memory (bytes)
Labels: device, slotExample Query:
# Memory utilization percentage
((platform_control_memory_physical - platform_control_memory_free) / 
  platform_control_memory_physical) * 100

# Free memory in GB
platform_control_memory_free / 1024 / 1024 / 1024

Application Management

MetricTypeDescription
system_app_management_application_memory_usageGaugeApp memory usage (bytes)
system_app_management_application_cpu_usageGaugeApp CPU usage percentage
Labels: device, name (application name)Example Query:
# Top 5 apps by memory
topk(5, system_app_management_application_memory_usage)

# CPU per application
system_app_management_application_cpu_usage{name="bgp_mgr"}

Interface Statistics

Ethernet interface metrics from /interface/
MetricTypeDescription
interface_statistics_in_packetsCounterIngress packets
interface_statistics_out_packetsCounterEgress packets
interface_statistics_in_octetsCounterIngress bytes
interface_statistics_out_octetsCounterEgress bytes
interface_statistics_in_unicast_packetsCounterUnicast ingress
interface_statistics_in_broadcast_packetsCounterBroadcast ingress
interface_statistics_in_multicast_packetsCounterMulticast ingress
Labels: device, name (interface name)Example Query:
# Interface traffic rate (bps)
rate(interface_statistics_in_octets{name=~"ethernet-1/.*"}[5m]) * 8

# Packets per second
rate(interface_statistics_in_packets[5m])

Subinterface Statistics

MetricTypeDescription
interface_subinterface_statistics_in_packetsCounterSubinterface ingress packets
interface_subinterface_statistics_out_packetsCounterSubinterface egress packets
interface_subinterface_statistics_in_octetsCounterSubinterface ingress bytes
interface_subinterface_statistics_out_octetsCounterSubinterface egress bytes
Labels: device, name (interface), index (subinterface ID)Example Query:
# Subinterface traffic
rate(interface_subinterface_statistics_in_octets[5m]) * 8

LAG/LACP Statistics

Network Instance Metrics

VRF and routing metrics from /network-instance/
MetricTypeDescription
network_instance_oper_stateGaugeVRF operational state (1=up, 0=down)
Labels: device, name (network instance name)Example Query:
# All network instances
network_instance_oper_state

# Down VRFs
network_instance_oper_state == 0
MetricTypeDescription
network_instance_route_table_ipv4_unicast_statistics_active_routesGaugeActive IPv4 routes
network_instance_route_table_ipv4_unicast_statistics_total_routesGaugeTotal IPv4 routes
network_instance_route_table_ipv6_unicast_statistics_active_routesGaugeActive IPv6 routes
network_instance_route_table_ipv6_unicast_statistics_total_routesGaugeTotal IPv6 routes
Labels: device, nameExample Query:
# IPv4 routes per VRF
network_instance_route_table_ipv4_unicast_statistics_active_routes

# Total routes across all VRFs
sum(network_instance_route_table_ipv4_unicast_statistics_active_routes)
MetricTypeDescription
network_instance_protocols_bgp_statistics_total_pathsGaugeTotal BGP paths
network_instance_protocols_bgp_statistics_total_prefixesGaugeTotal BGP prefixes
network_instance_protocols_bgp_group_statistics_sent_messagesCounterBGP messages sent
network_instance_protocols_bgp_group_statistics_received_messagesCounterBGP messages received
Labels: device, name (network instance), group_nameExample Query:
# BGP message rate
rate(network_instance_protocols_bgp_group_statistics_sent_messages[5m])

# Total BGP prefixes
network_instance_protocols_bgp_statistics_total_prefixes

Common Query Patterns

Traffic Analysis

# SROS port traffic
rate(port_statistics_in_octets[5m]) * 8

# SR Linux interface traffic
rate(interface_statistics_in_octets[5m]) * 8

Error Monitoring

# Errors per second
rate(port_statistics_in_errors[5m])

# Error percentage
(rate(port_statistics_in_errors[5m]) / 
 rate(port_statistics_in_packets[5m])) * 100

Resource Monitoring

# Average CPU
avg(system_cpu)

# Max CPU per device
max by (device) (system_cpu)

# CPU above threshold
system_cpu > 80

Session Monitoring

# Total active sessions
sum(subscriber_mgmt_local_user_db_ipoe_session_stats_current)

# Sessions per BNG
sum by (device) (subscriber_mgmt_local_user_db_ipoe_session_stats_current)

Discovering New Metrics

List All Available Metrics

# From Prometheus
curl http://localhost:9090/api/v1/label/__name__/values | jq

# From gNMIc exporter
curl http://localhost:9273/metrics | grep "^[a-z]" | cut -d' ' -f1 | sort -u

Explore Metric Labels

# All labels for a metric
group by (__name__, device, port_id) (port_statistics_in_packets)

# Unique devices
count by (device) ({__name__=~".+"})

# Unique ports on a device
count by (port_id) (port_statistics_in_packets{device="bng1"})

Find Metrics by Pattern

# All CPU metrics
{__name__=~".*cpu.*"}

# All BGP metrics
{__name__=~".*bgp.*"}

# All counters (assuming naming convention)
{__name__=~".*_total$"}

Next Steps

Prometheus Queries

Learn more about PromQL syntax and functions

Dashboard Guide

Use these metrics in Grafana dashboards