Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions snmp/changelog.d/23498.fixed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Cisco Catalyst and Cisco Small Business (cisco-sb): use ``entPhysicalSerialNum`` at entPhysical indexes ``67109120`` (Catalyst 1300 / CBS350) and ``1`` as ``serial_number`` fallbacks when the primary chassis serial source is absent. Adds new Catalyst 9200 (``1.3.6.1.4.1.9.1.3079``) and Catalyst 1300 (``1.3.6.1.4.1.9.1.3233``, ``1.3.6.1.4.1.9.1.3236``) sysobjectids to the cisco-catalyst profile so those devices match and report a serial.
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,17 @@ metadata:
device:
fields:
serial_number:
symbol:
# Cisco Catalyst devices are using CISCO-STACK-MIB
# Source1: http://www.circitor.fr/Mibs/Html/C/CISCO-STACK-MIB.php
# "This MIB provides configuration and runtime status for chassis, modules, ports, etc. on the Catalyst systems."
# Source2: chassisSerialNumberString is present for this device:
symbols:
# CISCO-STACK-MIB: chassisSerialNumberString — primary chassis serial on classic Catalyst.
# Source 1: https://circitor.fr/Mibs/Html/CISCO-STACK-MIB.php
# Source 2: chassisSerialNumberString is present for this device:
# Cisco Systems WS-C6509.Cisco Catalyst Operating System Software, Version 5.5(8).Copyright (c) 1995-2001 by Cisco Systems.
MIB: CISCO-STACK-MIB
Comment thread
ian28223 marked this conversation as resolved.
OID: 1.3.6.1.4.1.9.5.1.2.19.0
name: chassisSerialNumberString
- OID: 1.3.6.1.4.1.9.5.1.2.19.0
name: chassisSerialNumberString
# ENTITY-MIB: entPhysicalSerialNum at entPhysicalIndex 67109120 — Catalyst 1300 / CBS-derived chassis.
# Reference: https://www.cisco.com/c/en/us/support/docs/smb/switches/Cisco-Business-Switching/kmgmt3636-snmpv3-common-oids-cbs350.html
- OID: 1.3.6.1.2.1.47.1.1.1.1.11.67109120
name: entPhysicalSerialNum

metrics:
- MIB: CISCO-ENTITY-SENSOR-MIB
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -463,3 +463,6 @@ sysobjectid:
- 1.3.6.1.4.1.9.1.3023 # ciscoC1000FE48T4GL
- 1.3.6.1.4.1.9.1.3024 # ciscoC1000FE48P4GL
- 1.3.6.1.4.1.9.1.3069 # ciscoC8500L8S4X
- 1.3.6.1.4.1.9.1.3079 # ciscoC9200CX12P2X2G
- 1.3.6.1.4.1.9.1.3233 # ciscoC130024P4G
- 1.3.6.1.4.1.9.1.3236 # ciscoSwitch1300
10 changes: 10 additions & 0 deletions snmp/datadog_checks/snmp/data/default_profiles/cisco-sb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ metadata:
fields:
vendor:
value: "cisco"
serial_number:
symbols:
# ENTITY-MIB: entPhysicalSerialNum at entPhysicalIndex 67109120 — CBS350 / Cisco Small Business chassis.
# Reference: https://www.cisco.com/c/en/us/support/docs/smb/switches/Cisco-Business-Switching/kmgmt3636-snmpv3-common-oids-cbs350.html
- OID: 1.3.6.1.2.1.47.1.1.1.1.11.67109120
name: entPhysicalSerialNum
# ENTITY-MIB: entPhysicalSerialNum at entPhysicalIndex 1 — common chassis index.
# Source: https://circitor.fr/Mibs/Html/ENTITY-MIB.php
- OID: 1.3.6.1.2.1.47.1.1.1.1.11.1
name: entPhysicalSerialNum
metrics:
- MIB: CISCOSB-rndMng
symbol:
Expand Down
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/_generic-entity-sensor.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@
1.3.6.1.6.3.10.2.1.1.0|4x|4a616465642062757420666f7277617264
1.3.6.1.6.3.10.2.1.2.0|2|31
1.3.6.1.6.3.10.2.1.3.0|2|31
1.3.6.1.6.3.10.2.1.4.0|2|1234
1.3.6.1.6.3.10.2.1.4.0|2|1234
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/anue.snmprec
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
1.3.6.1.2.1.1.1.0|4|anue-packet-broker Device Description
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.32620.1.1
1.3.6.1.2.1.1.5.0|4|anue-packet-broker.device.name
1.3.6.1.2.1.2.1.0|2|4
1.3.6.1.2.1.2.1.0|2|4
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/cisco-5500-wlc.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -625,4 +625,4 @@
1.3.6.1.4.1.14179.2.2.13.1.24.0.0.0.0.0.17.0|2|0
1.3.6.1.4.1.14179.2.2.13.1.24.0.0.0.0.0.17.1|2|0
1.3.6.1.4.1.14179.2.2.13.1.24.0.0.0.0.0.18.0|2|0
1.3.6.1.4.1.14179.2.2.13.1.24.0.0.0.0.0.18.1|2|0
1.3.6.1.4.1.14179.2.2.13.1.24.0.0.0.0.0.18.1|2|0
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/cisco-asa-5525.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -1475,4 +1475,4 @@
1.3.6.1.6.3.10.2.1.3.0|2|4
1.3.6.1.6.3.10.2.1.3.0|2|28
1.3.6.1.6.3.10.2.1.4.0|2|567
1.3.6.1.6.3.10.2.1.4.0|2|763
1.3.6.1.6.3.10.2.1.4.0|2|763
4 changes: 4 additions & 0 deletions snmp/tests/compose/data/cisco-catalyst-1300.snmprec
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.9.1.3233
1.3.6.1.2.1.1.3.0|67|470854
1.3.6.1.2.1.1.5.0|4|catalyst-1300.example
1.3.6.1.2.1.47.1.1.1.1.11.67109120|4|FOCXXXXXXXX
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/generic-ups.snmprec
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
1.3.6.1.2.1.1.1.0|4|generic-ups Device Description
1.3.6.1.2.1.1.2.0|6|1.3.6.1.2.1.33
1.3.6.1.2.1.1.5.0|4|generic-ups.device.name
1.3.6.1.2.1.33.1.2.2.0|2|10
1.3.6.1.2.1.33.1.2.2.0|2|10
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/juniper-variation.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@
1.3.6.1.2.1.25.3.3.1.1.10|2|10
1.3.6.1.2.1.25.3.3.1.1.21|2|21
1.3.6.1.2.1.25.3.3.1.2.10|2|31
1.3.6.1.2.1.25.3.3.1.2.21|2|15
1.3.6.1.2.1.25.3.3.1.2.21|2|15
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/juniper.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@
1.3.6.1.2.1.25.3.3.1.1.10|2|10
1.3.6.1.2.1.25.3.3.1.1.21|2|21
1.3.6.1.2.1.25.3.3.1.2.10|2|31
1.3.6.1.2.1.25.3.3.1.2.21|2|15
1.3.6.1.2.1.25.3.3.1.2.21|2|15
2 changes: 1 addition & 1 deletion snmp/tests/compose/data/watchguard.snmprec
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
1.3.6.1.2.1.25.3.3.1.1.10|2|10
1.3.6.1.2.1.25.3.3.1.1.21|2|21
1.3.6.1.2.1.25.3.3.1.2.10|2|31
1.3.6.1.2.1.25.3.3.1.2.21|2|15
1.3.6.1.2.1.25.3.3.1.2.21|2|15
45 changes: 45 additions & 0 deletions snmp/tests/test_e2e_core_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,51 @@ def test_e2e_core_metadata_cisco_catalyst(dd_agent_check):
assert_device_metadata(aggregator, device)


def test_e2e_core_metadata_cisco_catalyst_entity_serial_fallback(dd_agent_check):
config = common.generate_container_instance_config([])
instance = config['instances'][0]
instance.update(
{
'community_string': 'cisco-catalyst-1300',
'loader': 'core',
}
)

aggregator = dd_agent_check(config, rate=False)

device_ip = instance['ip_address']
device_id = 'default:' + device_ip

device = {
'id': device_id,
'id_tags': [
'device_namespace:default',
'snmp_device:' + device_ip,
],
'ip_address': device_ip,
'name': 'catalyst-1300.example',
'profile': 'cisco-catalyst',
'status': 1,
'sys_object_id': '1.3.6.1.4.1.9.1.3233',
'tags': [
'agent_host:' + common.get_agent_hostname(),
'device_id:' + device_id,
'device_ip:' + device_ip,
'device_namespace:default',
'device_vendor:cisco',
'snmp_device:' + device_ip,
'snmp_host:catalyst-1300.example',
'device_hostname:catalyst-1300.example',
'snmp_profile:cisco-catalyst',
],
'vendor': 'cisco',
'serial_number': 'FOCXXXXXXXX',
'device_type': 'switch',
'integration': 'snmp',
}
assert_device_metadata(aggregator, device)


def test_e2e_core_metadata_hp_ilo4(dd_agent_check):
config = common.generate_container_instance_config([])
instance = config['instances'][0]
Expand Down
15 changes: 15 additions & 0 deletions snmp/tests/test_profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -2939,6 +2939,21 @@ def test_cisco_catalyst(aggregator):
aggregator.assert_metrics_using_metadata(get_metadata_metrics(), check_submission_type=True)


@pytest.mark.usefixtures("dd_environment")
def test_cisco_catalyst_entity_serial_fallback(aggregator):
# Exercises the entPhysicalSerialNum fallback when chassisSerialNumberString is absent.
run_profile_check('cisco-catalyst-1300', 'cisco-catalyst')
common_tags = common.CHECK_TAGS + [
'snmp_host:catalyst-1300.example',
'device_hostname:catalyst-1300.example',
'snmp_profile:cisco-catalyst',
'device_vendor:cisco',
]

aggregator.assert_metric('snmp.sysUpTimeInstance', count=1)
common.assert_common_metrics(aggregator, common_tags)


@pytest.mark.parametrize("file", ["juniper-ex", "juniper-ex-variation"])
@pytest.mark.usefixtures("dd_environment")
def test_juniper_ex(aggregator, file):
Expand Down
Loading