Skip to content

Commit

Permalink
Add profile metadata for Isilon (#11022)
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexandreYang authored Jan 6, 2022
1 parent 0bc9b53 commit 32a4d58
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 2 deletions.
60 changes: 59 additions & 1 deletion snmp/datadog_checks/snmp/data/profiles/isilon.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Example sysDescr:
# - device-name-3 263829375 Isilon OneFS v8.2.0.0
# - device-name-5 2316163007 Isilon OneFS v8.1.2.0
extends:
- _base.yaml
- _generic-ip.yaml
Expand All @@ -7,7 +10,62 @@ extends:
device:
vendor: "dell"

sysobjectid: 1.3.6.1.4.1.12124.*
sysobjectid:
- 1.3.6.1.4.1.12124.*

# Looks like EMC Isilon devices might use the wrong sysObjectID `1.3.6.1.4.1.12325.1.1.2.1.1` (FreeBSD-FOKUS)
# Few related discussions:
# - https://thwack.solarwinds.com/product-forums/network-performance-monitor-npm/f/forum/66098/emc-isilon-showing-up-as-non-emc-device-after-upgrade/39511
# - https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0761173
# - https://github.com/librenms/librenms/issues/6412
# Long term solution:
# Similar to librenms a possible solution is to have other ways to match devices like sysDescr text matching. See example:
# https://github.com/librenms/librenms/pull/6416/files#diff-ec0470a0c495f1349b349f62b0dfdf14b928a5acb94f0de5f6c5a6e523f7817cR12-R16
- 1.3.6.1.4.1.12325.1.1.2.1.1

metadata:
device:
fields:
vendor:
value: "dell"
serial_number:
symbol:
OID: 1.3.6.1.4.1.12124.2.51.1.3.1
name: chassisSerialNumber # The chassis serial number.
version:
symbol:
OID: 1.3.6.1.2.1.1.1.0
name: sysDescr
match_pattern: 'Isilon OneFS v(\S+)'
match_value: '$1'
# Examples:
# - device-name-3 263829375 Isilon OneFS v8.2.0.0
product_name:
value: 'Isilon OneFS'
model:
symbol:
OID: 1.3.6.1.4.1.12124.2.51.1.4.1
name: chassisModel # The chassis model name.
# source/hints:
# - https://www.dell.com/support/kbdoc/fr-fr/000020536/isilon-how-to-find-serial-numbers-for-isilon-nodes?lang=en
# - https://www.dell.com/community/Isilon/Querying-Isilon-Cluster-via-SNMP-For-Node-Model/td-p/7048622
os_name:
symbol:
OID: 1.3.6.1.2.1.1.1.0
name: sysDescr
match_pattern: '\bOneFS\b'
match_value: 'OneFS'
# Examples:
# - device-name-3 263829375 Isilon OneFS v8.2.0.0
os_version:
# OneFS operating system version seems to be the same as the OneFS filestem version
symbol:
OID: 1.3.6.1.2.1.1.1.0
name: sysDescr
match_pattern: 'Isilon OneFS v(\S+)'
match_value: '$1'
# Examples:
# - device-name-3 263829375 Isilon OneFS v8.2.0.0

metrics:
# fan hardware
Expand Down
6 changes: 5 additions & 1 deletion snmp/tests/compose/data/isilon.snmprec
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12124.2
1.3.6.1.2.1.1.1.0|4|device-name-3 263829375 Isilon OneFS v8.2.0.0
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12325.1.1.2.1.1
1.3.6.1.4.1.12124.1.1.1.0|4|testcluster1
1.3.6.1.4.1.12124.1.1.2.0|2|2
1.3.6.1.4.1.12124.1.1.3.0|4x|4a61646564204a61646564204a61646564207a6f6d62696573207a6f6d62696573206f78656e204a6164656420717561696e746c79
Expand Down Expand Up @@ -228,6 +229,9 @@
1.3.6.1.4.1.12124.2.2.10.1.17.98.117.116|66|2258745481
1.3.6.1.4.1.12124.2.2.10.1.17.107.101.112.116|66|3237597125
1.3.6.1.4.1.12124.2.2.10.1.17.111.120.101.110|66|853869338
1.3.6.1.4.1.12124.2.51.1.2.1|4|400-0049-03
1.3.6.1.4.1.12124.2.51.1.3.1|4|SX410-251604-0122
1.3.6.1.4.1.12124.2.51.1.4.1|4|X410-4U-Dual-64GB-2x1GE-2x10GE SFP+-34TB-800GB SSD
1.3.6.1.4.1.12124.2.52.1.1.1|2|1
1.3.6.1.4.1.12124.2.52.1.1.2|2|2
1.3.6.1.4.1.12124.2.52.1.1.3|2|3
Expand Down
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 @@ -858,3 +858,48 @@ def test_e2e_core_metadata_dell_idrac(dd_agent_check):
u'serial_number': u'acted quaintly driving',
}
assert_device_metadata(aggregator, device)


def test_e2e_core_metadata_isilon(dd_agent_check):
config = common.generate_container_instance_config([])
instance = config['instances'][0]
instance.update(
{
'community_string': 'isilon',
'loader': 'core',
}
)

aggregator = dd_agent_check(config, rate=False)

device_ip = instance['ip_address']

device = {
'description': 'device-name-3 263829375 Isilon OneFS v8.2.0.0',
'id': 'default:' + device_ip,
'id_tags': [
'device_namespace:default',
'snmp_device:' + device_ip,
],
'ip_address': device_ip,
'model': 'X410-4U-Dual-64GB-2x1GE-2x10GE SFP+-34TB-800GB SSD',
'os_name': 'OneFS',
'os_version': '8.2.0.0',
'product_name': 'Isilon OneFS',
'profile': 'isilon',
'serial_number': 'SX410-251604-0122',
'status': 1,
'sys_object_id': '1.3.6.1.4.1.12325.1.1.2.1.1',
'tags': [
'cluster_name:testcluster1',
'device_namespace:default',
'device_vendor:dell',
'node_name:node1',
'node_type:1',
'snmp_device:' + device_ip,
'snmp_profile:isilon',
],
'vendor': 'dell',
'version': '8.2.0.0',
}
assert_device_metadata(aggregator, device)

0 comments on commit 32a4d58

Please sign in to comment.