Feature request: Add graphing for Junos SRX Firewall session objects

I would like to be able to graph the following mib tree:

snmpwalk -v2c -c community host.name .1.3.6.1.4.1.2636.3.39.1.12.1.1.1
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.2.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.2.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.3.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.3.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.4.0 = Gauge32: 15
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.4.18 = Gauge32: 4
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.5.0 = Gauge32: 75
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.5.18 = Gauge32: 75
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.6.0 = Gauge32: 293217
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.6.18 = Gauge32: 304086
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.7.0 = Gauge32: 524288
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.7.18 = Gauge32: 524288
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.8.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.8.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.9.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.9.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.10.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.10.18 = Gauge32: 1
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.11.0 = STRING: “node0”
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.11.18 = STRING: “node1”
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.12.0 = Gauge32: 293217
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.12.18 = Gauge32: 304086
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.13.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.13.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.14.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.14.18 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.15.0 = Gauge32: 0
SNMPv2-SMI::enterprises.2636.3.39.1.12.1.1.1.15.18 = Gauge32: 0

Mapped from the Junos command:

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1
jnxJsSPUMonitoringFPCIndex.0 = 0
jnxJsSPUMonitoringFPCIndex.18 = 0
jnxJsSPUMonitoringSPUIndex.0 = 0
jnxJsSPUMonitoringSPUIndex.18 = 0
jnxJsSPUMonitoringCPUUsage.0 = 22
jnxJsSPUMonitoringCPUUsage.18 = 6
jnxJsSPUMonitoringMemoryUsage.0 = 75
jnxJsSPUMonitoringMemoryUsage.18 = 75
jnxJsSPUMonitoringCurrentFlowSession.0 = 319087
jnxJsSPUMonitoringCurrentFlowSession.18 = 326950
jnxJsSPUMonitoringMaxFlowSession.0 = 524288
jnxJsSPUMonitoringMaxFlowSession.18 = 524288
jnxJsSPUMonitoringCurrentCPSession.0 = 0
jnxJsSPUMonitoringCurrentCPSession.18 = 0
jnxJsSPUMonitoringMaxCPSession.0 = 0
jnxJsSPUMonitoringMaxCPSession.18 = 0
jnxJsSPUMonitoringNodeIndex.0 = 0
jnxJsSPUMonitoringNodeIndex.18 = 1
jnxJsSPUMonitoringNodeDescr.0 = node0
jnxJsSPUMonitoringNodeDescr.18 = node1
jnxJsSPUMonitoringFlowSessIPv4.0 = 319087
jnxJsSPUMonitoringFlowSessIPv4.18 = 326950
jnxJsSPUMonitoringFlowSessIPv6.0 = 0
jnxJsSPUMonitoringFlowSessIPv6.18 = 0
jnxJsSPUMonitoringCPSessIPv4.0 = 0
jnxJsSPUMonitoringCPSessIPv4.18 = 0
jnxJsSPUMonitoringCPSessIPv6.0 = 0
jnxJsSPUMonitoringCPSessIPv6.18 = 0

https://github.com/librenms/librenms/issues/3502

3 Likes

I’d really like this feature too. I can help implement it, but feel a bit lost about where to start. Is there anything similar already implemented which I can look at?

I would also be interested in this and helping if possible.

I will work on this feature next weeks.
Which version model and firmware version of SRX do you have ? Mine is SRX650 with lastest firmware.
Can you post the output of :
show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1

1 Like

Model: srx300
Junos: 15.1X49-D45
JUNOS Software Release [15.1X49-D45]

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1

jnxJsSPUMonitoringFPCIndex.0 = 0
jnxJsSPUMonitoringSPUIndex.0 = 0
jnxJsSPUMonitoringCPUUsage.0 = 0
jnxJsSPUMonitoringMemoryUsage.0 = 31
jnxJsSPUMonitoringCurrentFlowSession.0 = 101
jnxJsSPUMonitoringMaxFlowSession.0 = 65536
jnxJsSPUMonitoringCurrentCPSession.0 = 0
jnxJsSPUMonitoringMaxCPSession.0 = 0
jnxJsSPUMonitoringNodeIndex.0 = 0
jnxJsSPUMonitoringNodeDescr.0 = single
jnxJsSPUMonitoringFlowSessIPv4.0 = 101
jnxJsSPUMonitoringFlowSessIPv6.0 = 0
jnxJsSPUMonitoringCPSessIPv4.0 = 0
jnxJsSPUMonitoringCPSessIPv6.0 = 0

node0:

Hostname: bdr1
Model: srx1400
JUNOS Software Release [12.3X48-D50.6]

node1:

Hostname: bdr2
Model: srx1400
JUNOS Software Release [12.3X48-D50.6]

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1

jnxJsSPUMonitoringFPCIndex.1 = 1
jnxJsSPUMonitoringFPCIndex.9 = 1
jnxJsSPUMonitoringSPUIndex.1 = 0
jnxJsSPUMonitoringSPUIndex.9 = 0
jnxJsSPUMonitoringCPUUsage.1 = 1
jnxJsSPUMonitoringCPUUsage.9 = 0
jnxJsSPUMonitoringMemoryUsage.1 = 87
jnxJsSPUMonitoringMemoryUsage.9 = 87
jnxJsSPUMonitoringCurrentFlowSession.1 = 4661
jnxJsSPUMonitoringCurrentFlowSession.9 = 4091
jnxJsSPUMonitoringMaxFlowSession.1 = 1048576
jnxJsSPUMonitoringMaxFlowSession.9 = 1048576
jnxJsSPUMonitoringCurrentCPSession.1 = 4721
jnxJsSPUMonitoringCurrentCPSession.9 = 4091
jnxJsSPUMonitoringMaxCPSession.1 = 1048576
jnxJsSPUMonitoringMaxCPSession.9 = 1048576
jnxJsSPUMonitoringNodeIndex.1 = 0
jnxJsSPUMonitoringNodeIndex.9 = 1
jnxJsSPUMonitoringNodeDescr.1 = node0
jnxJsSPUMonitoringNodeDescr.9 = node1
jnxJsSPUMonitoringFlowSessIPv4.1 = 4623
jnxJsSPUMonitoringFlowSessIPv4.9 = 4165
jnxJsSPUMonitoringFlowSessIPv6.1 = 0
jnxJsSPUMonitoringFlowSessIPv6.9 = 0
jnxJsSPUMonitoringCPSessIPv4.1 = 4684
jnxJsSPUMonitoringCPSessIPv4.9 = 4165
jnxJsSPUMonitoringCPSessIPv6.1 = 0
jnxJsSPUMonitoringCPSessIPv6.9 = 0

Model: srx110h2-va
JUNOS Software Release [12.3X48-D50.6]

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1

jnxJsSPUMonitoringFPCIndex.0 = 0
jnxJsSPUMonitoringSPUIndex.0 = 0
jnxJsSPUMonitoringCPUUsage.0 = 1
jnxJsSPUMonitoringMemoryUsage.0 = 27
jnxJsSPUMonitoringCurrentFlowSession.0 = 149
jnxJsSPUMonitoringMaxFlowSession.0 = 32768
jnxJsSPUMonitoringCurrentCPSession.0 = 0
jnxJsSPUMonitoringMaxCPSession.0 = 0
jnxJsSPUMonitoringNodeIndex.0 = 0
jnxJsSPUMonitoringNodeDescr.0 = single
jnxJsSPUMonitoringFlowSessIPv4.0 = 149
jnxJsSPUMonitoringFlowSessIPv6.0 = 0
jnxJsSPUMonitoringCPSessIPv4.0 = 0
jnxJsSPUMonitoringCPSessIPv6.0 = 0

Model: srx240h
JUNOS Software Release [12.1X46-D67]

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1
jnxJsSPUMonitoringFPCIndex.0 = 0
jnxJsSPUMonitoringFPCIndex.10 = 0
jnxJsSPUMonitoringSPUIndex.0 = 0
jnxJsSPUMonitoringSPUIndex.10 = 0
jnxJsSPUMonitoringCPUUsage.0 = 0
jnxJsSPUMonitoringCPUUsage.10 = 1
jnxJsSPUMonitoringMemoryUsage.0 = 69
jnxJsSPUMonitoringMemoryUsage.10 = 69
jnxJsSPUMonitoringCurrentFlowSession.0 = 1124
jnxJsSPUMonitoringCurrentFlowSession.10 = 1615
jnxJsSPUMonitoringMaxFlowSession.0 = 131072
jnxJsSPUMonitoringMaxFlowSession.10 = 131072
jnxJsSPUMonitoringCurrentCPSession.0 = 0
jnxJsSPUMonitoringCurrentCPSession.10 = 0
jnxJsSPUMonitoringMaxCPSession.0 = 0
jnxJsSPUMonitoringMaxCPSession.10 = 0
jnxJsSPUMonitoringNodeIndex.0 = 0
jnxJsSPUMonitoringNodeIndex.10 = 1
jnxJsSPUMonitoringNodeDescr.0 = node0
jnxJsSPUMonitoringNodeDescr.10 = node1
jnxJsSPUMonitoringFlowSessIPv4.0 = 1124
jnxJsSPUMonitoringFlowSessIPv4.10 = 1615
jnxJsSPUMonitoringFlowSessIPv6.0 = 0
jnxJsSPUMonitoringFlowSessIPv6.10 = 0
jnxJsSPUMonitoringCPSessIPv4.0 = 0
jnxJsSPUMonitoringCPSessIPv4.10 = 0
jnxJsSPUMonitoringCPSessIPv6.0 = 0
jnxJsSPUMonitoringCPSessIPv6.10 = 0

Model: srx4100
JUNOS Software Release [15.1X49-D110.4]

show snmp mib walk decimal .1.3.6.1.4.1.2636.3.39.1.12.1.1.1
jnxJsSPUMonitoringFPCIndex.0 = 0
jnxJsSPUMonitoringFPCIndex.2 = 0
jnxJsSPUMonitoringSPUIndex.0 = 0
jnxJsSPUMonitoringSPUIndex.2 = 0
jnxJsSPUMonitoringCPUUsage.0 = 0
jnxJsSPUMonitoringCPUUsage.2 = 0
jnxJsSPUMonitoringMemoryUsage.0 = 38
jnxJsSPUMonitoringMemoryUsage.2 = 38
jnxJsSPUMonitoringCurrentFlowSession.0 = 26192
jnxJsSPUMonitoringCurrentFlowSession.2 = 29148
jnxJsSPUMonitoringMaxFlowSession.0 = 10485760
jnxJsSPUMonitoringMaxFlowSession.2 = 10485760
jnxJsSPUMonitoringCurrentCPSession.0 = 0
jnxJsSPUMonitoringCurrentCPSession.2 = 0
jnxJsSPUMonitoringMaxCPSession.0 = 0
jnxJsSPUMonitoringMaxCPSession.2 = 0
jnxJsSPUMonitoringNodeIndex.0 = 0
jnxJsSPUMonitoringNodeIndex.2 = 1
jnxJsSPUMonitoringNodeDescr.0 = node0
jnxJsSPUMonitoringNodeDescr.2 = node1
jnxJsSPUMonitoringFlowSessIPv4.0 = 25574
jnxJsSPUMonitoringFlowSessIPv4.2 = 28227
jnxJsSPUMonitoringFlowSessIPv6.0 = 618
jnxJsSPUMonitoringFlowSessIPv6.2 = 921
jnxJsSPUMonitoringCPSessIPv4.0 = 0
jnxJsSPUMonitoringCPSessIPv4.2 = 0
jnxJsSPUMonitoringCPSessIPv6.0 = 0
jnxJsSPUMonitoringCPSessIPv6.2 = 0

Someone has just added this https://github.com/librenms/librenms/pull/8815#pullrequestreview-128546272