To fully monitor the affect and performance of network devices when traffic is placed into more than one Juniper forwarding-class it would help if we could visualise the bytes/packets forwarded through each queue on egress interfaces.
These stats are exposed via the JUNIPER-COS-MIB, but not currently graphed by LibreNMS
cmooney@netmon1003:~$ snmpwalk -M +/home/cmooney/juniper_mibs -m +JUNIPER-COS-MIB -v2c -c <COMM> lsw1-e1-eqiad.mgmt.eqiad.wmnet JUNIPER-COS-MIB::jnxCosIfqStatsTable | grep ".590" JUNIPER-COS-MIB::jnxCosIfqQedPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedPkts.590."mcast" = Counter64: 261599 JUNIPER-COS-MIB::jnxCosIfqQedPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedPkts.590."best-effort" = Counter64: 128584368836 JUNIPER-COS-MIB::jnxCosIfqQedPkts.590."network-control" = Counter64: 563531 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.519."best-effort" = Counter64: 37590 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.590."best-effort" = Counter64: 8367 JUNIPER-COS-MIB::jnxCosIfqQedPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedBytes.590."mcast" = Counter64: 22658970 JUNIPER-COS-MIB::jnxCosIfqQedBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedBytes.590."best-effort" = Counter64: 31329159923394 JUNIPER-COS-MIB::jnxCosIfqQedBytes.590."network-control" = Counter64: 188612402 JUNIPER-COS-MIB::jnxCosIfqQedByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqQedByteRate.590."best-effort" = Counter64: 1979555 JUNIPER-COS-MIB::jnxCosIfqQedByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPkts.590."mcast" = Counter64: 261599 JUNIPER-COS-MIB::jnxCosIfqTxedPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPkts.590."best-effort" = Counter64: 128584368604 JUNIPER-COS-MIB::jnxCosIfqTxedPkts.590."network-control" = Counter64: 563531 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.519."best-effort" = Counter64: 37590 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.590."best-effort" = Counter64: 8367 JUNIPER-COS-MIB::jnxCosIfqTxedPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedBytes.590."mcast" = Counter64: 22658970 JUNIPER-COS-MIB::jnxCosIfqTxedBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedBytes.590."best-effort" = Counter64: 31329159566196 JUNIPER-COS-MIB::jnxCosIfqTxedBytes.590."network-control" = Counter64: 188612402 JUNIPER-COS-MIB::jnxCosIfqTxedByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTxedByteRate.590."best-effort" = Counter64: 1979555 JUNIPER-COS-MIB::jnxCosIfqTxedByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPkts.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTailDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPkts.590."best-effort" = Counter64: 232 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPkts.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPkts.590."best-effort" = Counter64: 232 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPkts.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPkts.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPkts.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPkts.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPkts.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPkts.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPktRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPktRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPktRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPktRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropPktRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropBytes.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropBytes.590."best-effort" = Counter64: 357198 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropBytes.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropByteRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqTotalRedDropByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropBytes.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropBytes.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropBytes.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropByteRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpNonTcpRedDropByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropBytes.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropBytes.590."best-effort" = Counter64: 357198 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropBytes.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropByteRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqLpTcpRedDropByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropBytes.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropBytes.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropBytes.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropByteRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpNonTcpRedDropByteRate.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropBytes.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropBytes.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropBytes.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropBytes.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropBytes.590."network-control" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropByteRate.590."fcoe" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropByteRate.590."mcast" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropByteRate.590."no-loss" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropByteRate.590."best-effort" = Counter64: 0 JUNIPER-COS-MIB::jnxCosIfqHpTcpRedDropByteRate.590."network-control" = Counter64: 0
The desired result would be a series of stacked graphs, per-interface, for instance:
- Transmitted bytes per queue
- Transmitted packets per queue
- Dropped packets (of the different types) per queue
This will aid in determining that traffic is being transmitted through the correct queues, as well as troubleshoot any issues due to drops.