improve netapp snmp profile (#20608)
Ilya Mashchenko committed
Jun 30, 2025 at 21:37 UTC
c06d55491523749453c001773d1ea98a33c68119
4 files changed
+292
-113
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_generic-if.yaml
+6
-6
@@ -7,7 +7,7 @@ metrics:
7
OID: 1.3.6.1.2.1.2.1.0
8
name: ifNumber
9
description: Number of network interfaces regardless of their current state present on this system
10
- family: Interfaces/Total
10
+ family: Interfaces/Count/Total
11
unit: "{interface}"
12
- MIB: IF-MIB
13
table:
@@ -17,12 +17,12 @@ metrics:
17
- OID: 1.3.6.1.2.1.2.2.1.14
18
name: ifInErrors
19
description: Number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol
20
- family: Interfaces/Error/In
20
+ family: Interfaces/Error/Total/In
21
unit: "{error}/s"
22
- OID: 1.3.6.1.2.1.2.2.1.20
23
name: ifOutErrors
24
description: Number of outbound packets that could not be transmitted because of errors
25
- family: Interfaces/Error/Out
25
+ family: Interfaces/Error/Total/Out
26
unit: "{error}/s"
27
- OID: 1.3.6.1.2.1.2.2.1.13
28
name: ifInDiscards
@@ -79,13 +79,13 @@ metrics:
79
- OID: 1.3.6.1.2.1.31.1.1.1.6
80
name: ifHCInOctets
81
description: Total number of octets received on the interface including framing characters
82
- family: Interfaces/Traffic/In
82
+ family: Interfaces/Traffic/Total/In
83
unit: "bit/s"
84
scale_factor: 8 # octets => bits
85
- OID: 1.3.6.1.2.1.31.1.1.1.10
86
name: ifHCOutOctets
87
description: Total number of octets transmitted out of the interface including framing characters
88
- family: Interfaces/Traffic/Out
88
+ family: Interfaces/Traffic/Total/Out
89
unit: "bit/s"
90
scale_factor: 8 # octets => bits
91
- OID: 1.3.6.1.2.1.31.1.1.1.7
@@ -122,8 +122,8 @@ metrics:
122
name: ifHighSpeed
123
description: Estimate of the interface's current bandwidth
124
family: Interfaces/Speed
125
- scale_factor: 1000000 # Megabits => bits
125
unit: bit/s
126
+ scale_factor: 1000000 # Megabits => bits
127
metric_tags:
128
- tag: interface
129
symbol:
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_generic-ip.yaml
+9
@@ -340,3 +340,12 @@ metrics:
340
index_transform:
341
- start: 1
342
end: 1
343
+ - tag: _if_type
344
+ table: ifTable
345
+ symbol:
346
+ OID: 1.3.6.1.2.1.2.2.1.3
347
+ name: ifType
348
+ mapping_ref: ifType
349
+ index_transform:
350
+ - start: 1
351
+ end: 1
src/go/plugin/go.d/config/go.d/snmp.profiles/default/cisco-nexus.yaml
+27
-27
@@ -22,40 +22,40 @@ sysobjectid:
22
- 1.3.6.1.4.1.9.12.3.1.3.*
23
24
metrics:
25
- - MIB: CISCO-ENTITY-SENSOR-MIB
25
+ - MIB: CISCO-ENTITY-SENSOR-MIB # TODO: put in abstract profile
26
table:
27
OID: 1.3.6.1.4.1.9.9.91.1.1.1
28
name: entSensorValueTable
29
symbols:
30
- # - OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.4
31
- # name: entSensorValue
32
- # description: Most recent measurement seen by the sensor
33
- # unit: "TBD"
34
- # TODO: totally wrong, need transformation
35
- - OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.1
36
- name: entSensorType
37
- description: Sensor type
38
- family: Sensors/Type
39
- unit: "{status}"
40
- mapping:
41
- 1: other
42
- 2: unknown
43
- 3: volts_ac
44
- 4: volts_dc
45
- 5: amperes
46
- 6: watts
47
- 7: hertz
48
- 8: celsius
49
- 9: percent_rh
50
- 10: rpm
51
- 11: cmm
52
- 12: truthvalue
53
- 13: special_enum
54
- 14: dbm
55
- 15: db
30
+ - OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.4
31
+ name: entSensorValue # Do not change this name — required by transformEntitySensorValue for matching and renaming logic
32
+ description: Most recent measurement obtained by the agent for this sensor
33
+ unit: "1"
34
+ family: Sensor/Value
35
+ transform: |
36
+ {{- transformEntitySensorValue .Metric -}}
37
metric_tags:
38
- tag: sensor_index
39
index: 1
40
+ - tag: _ent_phys_descr
41
+ MIB: ENTITY-MIB
42
+ table: entPhysicalTable
43
+ symbol:
44
+ OID: 1.3.6.1.2.1.47.1.1.1.1.2
45
+ name: entPhysicalDescr
46
+ - tag: rm:sensor_type # needed for transform
47
+ symbol:
48
+ OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.1
49
+ name: entSensorType
50
+ - tag: rm:sensor_scale # needed for transform
51
+ symbol:
52
+ OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.2
53
+ name: entSensorScale
54
+ - tag: rm:sensor_precision # needed for transform
55
+ symbol:
56
+ OID: 1.3.6.1.4.1.9.9.91.1.1.1.1.3
57
+ name: entSensorPrecision
58
+
59
- MIB: CISCO-ENHANCED-MEMPOOL-MIB # Overrides generic cisco defaults from _cisco-cpu-memory.yaml
60
table:
61
OID: 1.3.6.1.4.1.9.9.221.1.1.1
src/go/plugin/go.d/config/go.d/snmp.profiles/default/netapp.yaml
+250
-80
@@ -48,160 +48,330 @@ metadata:
48
OID: 1.3.6.1.2.1.1.1.0
49
name: sysDescr
50
match_pattern: 'NetApp Release\s+(\d+(?:\.\d+)*)' # First part of the version composed of digits and `.`
51
- # Example: 9.7P14 => 9.7
51
+ # Example: 9.7P14 => 9.7
52
match_value: '$1'
53
54
55
metrics:
56
- MIB: NETAPP-MIB
57
- OID: 1.3.6.1.4.1.789.1.2.3.8.0
58
- name: cfInterconnectStatus # The current status of the interconnect. The partialFailure(3) status indicates that
59
- # one of the links in the interconnect hardware is down.
60
- description: The current status of the interconnect
61
- unit: "{status}"
57
+ symbol:
58
+ OID: 1.3.6.1.4.1.789.1.2.3.8.0
59
+ name: cfInterconnectStatus
60
+ # The current status of the interconnect.
61
+ # The partialFailure(3) status indicates that one of the links in the interconnect hardware is down.
62
+ description: The current status of the interconnect
63
+ family: ClusterFailover/Interconnect/Status
64
+ unit: "{status}"
65
- MIB: NETAPP-MIB
63
- OID: 1.3.6.1.4.1.789.1.2.2.23.0
64
- name: miscCacheAge # Age in minutes of the oldest read-only blocks in the buffer cache.
65
- # This indicates how fast read operations are cycling through system memory;
66
- # when the appliance is reading very large files (larger than the machine's memory size),
67
- # buffer cache age will be very low.
68
- description: Age in minutes of the oldest read-only blocks in the buffer cache
69
- unit: "min"
66
+ symbol:
67
+ OID: 1.3.6.1.4.1.789.1.2.2.23.0
68
+ name: miscCacheAge
69
+ # Age in minutes of the oldest read-only blocks in the buffer cache.
70
+ # This indicates how fast read operations are cycling through system memory;
71
+ # when the appliance is reading very large files (larger than the machine's memory size),
72
+ # buffer cache age will be very low.
73
+ description: Age in minutes of the oldest read-only blocks in the buffer cache
74
+ family: Cache/Buffer/Age
75
+ unit: "min"
76
- MIB: NETAPP-MIB
71
- OID: 1.3.6.1.4.1.789.1.8.3.6.36.0
72
- name: ncHttpActiveCliConns # Number of currently active TCP/IP connections to HTTP clients
73
- description: Number of currently active TCP/IP connections to HTTP clients
74
- unit: "{connection}"
77
+ symbol:
78
+ OID: 1.3.6.1.4.1.789.1.8.3.6.36.0
79
+ name: ncHttpActiveCliConns
80
+ description: Number of currently active TCP/IP connections to HTTP clients
81
+ family: Network/HTTP/Connection/Active
82
+ unit: "{connection}"
83
84
- MIB: NETAPP-MIB
77
- OID: 1.3.6.1.4.1.789.1.26.8.0
78
- name: extcache64Hits # Indicates number of wafl buffers read from the external cache
79
- metric_type: monotonic_count
80
- description: Number of wafl buffers read from the external cache
81
- unit: "{buffer}"
82
-
83
- # Snap vaults
85
+ symbol:
86
+ OID: 1.3.6.1.4.1.789.1.26.8.0
87
+ name: extcache64Hits
88
+ description: Number of wafl buffers read from the external cache
89
+ family: Cache/External/Hit/Count
90
+ unit: "{buffer}/s"
91
92
+ # Snap vaults (https://oidref.com/1.3.6.1.4.1.789.1.19.11.1.15)
93
- MIB: NETAPP-MIB
94
table:
95
OID: 1.3.6.1.4.1.789.1.19.11
96
name: snapvaultStatusTable
97
symbols:
98
+ - OID: 1.3.6.1.4.1.789.1.19.11.1.11
99
+ name: svTotalTransMBs
100
+ family: SnapVault/Transfer/Throughput/Total
101
+ description: Transfer size
102
+ unit: "By/s"
103
+ scale_factor: 1048576
104
+ - OID: 1.3.6.1.4.1.789.1.19.11.1.7
105
+ name: svTotalSuccesses
106
+ family: SnapVault/Transfer/Success/Count
107
+ description: Successful transfers
108
+ unit: "{transfer}/s"
109
- OID: 1.3.6.1.4.1.789.1.19.11.1.9
110
name: svTotalFailures
92
- metric_type: monotonic_count
111
+ family: SnapVault/Transfer/Failure/Count
112
+ description: Failed or aborted transfers
113
+ unit: "{transfer}/s"
114
+ - OID: 1.3.6.1.4.1.789.1.19.11.1.6
115
+ name: svLag
116
+ family: SnapVault/Sync/Lag
117
+ description: Shows how far away the destination is from the source.
118
+ unit: "cs"
119
+ - OID: 1.3.6.1.4.1.789.1.19.11.1.4
120
+ name: svStatus
121
+ family: SnapVault/Transfer/Status
122
+ description: Current transfer status
123
+ unit: "{status}"
124
+ mapping:
125
+ 1: idle
126
+ 2: transferring
127
+ 3: pending
128
+ 4: aborting
129
+ 6: quiescing
130
+ 7: resyncing
131
+ 12: paused
132
+ - OID: 1.3.6.1.4.1.789.1.19.11.1.5
133
+ name: svState
134
+ family: SnapVault/Relationship/Status
135
+ description: Current state of the SnapVault relationship
136
+ unit: "{status}"
137
+ mapping:
138
+ 1: uninitialized
139
+ 2: snapvaulted
140
+ 3: brokenOff
141
+ 4: quiesced
142
+ 5: source
143
+ 6: unknown
144
+ 7: restoring
145
metric_tags:
94
- - tag: index
146
+ - tag: sv_index
147
symbol:
148
OID: 1.3.6.1.4.1.789.1.19.11.1.1
149
name: svIndex
98
- - tag: destination
150
+ - tag: _sv_src
151
+ symbol:
152
+ OID: 1.3.6.1.4.1.789.1.19.11.1.2
153
+ name: svSrc
154
+ - tag: _sv_dest
155
symbol:
156
OID: 1.3.6.1.4.1.789.1.19.11.1.3
157
name: svDst
102
- - tag: state
103
- symbol:
104
- OID: 1.3.6.1.4.1.789.1.19.11.1.5
105
- name: svState
106
- description: Total number of failed snapvault transfers
107
- unit: "{transfers}"
108
-
109
- # Snap mirrors
158
159
+ # Snap mirrors (https://oidref.com/1.3.6.1.4.1.789.1.9.20.1.2)
160
- MIB: NETAPP-MIB
161
table:
162
OID: 1.3.6.1.4.1.789.1.9.20
163
name: snapmirrorStatusTable
164
metric_type: gauge
165
symbols:
117
- - OID: 1.3.6.1.4.1.789.1.9.20.1.6
118
- name: snapmirrorLag # SNMP type is TimeTicks
119
- metric_tags:
120
- - tag: index
121
- symbol:
122
- OID: 1.3.6.1.4.1.789.1.9.20.1.1
123
- name: snapmirrorIndex
124
- - tag: state
125
- symbol:
126
- OID: 1.3.6.1.4.1.789.1.9.20.1.5
127
- name: snapmirrorState
128
- description: How far behind from the source the destination is
129
- unit: "cs"
130
-
131
- - MIB: NETAPP-MIB
132
- table:
133
- OID: 1.3.6.1.4.1.789.1.9.20
134
- name: snapmirrorStatusTable
135
- metric_type: monotonic_count
136
- symbols:
166
+ - OID: 1.3.6.1.4.1.789.1.9.20.1.11
167
+ name: snapmirrorTotalTransMBs
168
+ family: SnapMirror/Transfer/Throughput/Total
169
+ description: Transfer size
170
+ unit: "By/s"
171
+ scale_factor: 1048576
172
+ - OID: 1.3.6.1.4.1.789.1.9.20.1.7
173
+ name: snapmirrorTotalSuccesses
174
+ family: SnapMirror/Transfer/Success/Count
175
+ description: Successful transfers
176
+ unit: "{transfer}/s"
177
- OID: 1.3.6.1.4.1.789.1.9.20.1.9
178
name: snapmirrorTotalFailures
179
+ family: SnapMirror/Transfer/Failure/Count
180
+ description: Failed or aborted transfers
181
+ unit: "{transfer}/s"
182
+ - OID: 1.3.6.1.4.1.789.1.9.20.1.6
183
+ name: snapmirrorLag
184
+ description: How far behind from the source the destination is
185
+ family: SnapMirror/Sync/Lag
186
+ unit: "cs"
187
+ - OID: 1.3.6.1.4.1.789.1.9.20.1.4
188
+ name: snapmirrorStatus
189
+ family: SnapMirror/Transfer/Status
190
+ description: Current transfer status of the SnapMirror
191
+ unit: "{status}"
192
+ mapping:
193
+ 1: uninitialized
194
+ 2: snapmirrored
195
+ 3: brokenOff
196
+ 4: quiesced
197
+ 5: source
198
+ 6: unknown
199
+ - OID: 1.3.6.1.4.1.789.1.9.20.1.5
200
+ name: snapmirrorState
201
+ family: SnapMirror/Status
202
+ description: Current state of the SnapMirror
203
+ unit: "{status}"
204
+ mapping:
205
+ 1: idle
206
+ 2: transferring
207
+ 3: pending
208
+ 4: aborting
209
+ 5: migrating
210
+ 6: quiescing
211
+ 7: resyncing
212
+ 8: waiting
213
+ 9: syncing
214
+ 10: inSync
215
metric_tags:
140
- - tag: index
216
+ - tag: sm_index
217
symbol:
218
OID: 1.3.6.1.4.1.789.1.9.20.1.1
219
name: snapmirrorIndex
144
- - tag: state
220
+ - tag: _sm_dest
221
symbol:
146
- OID: 1.3.6.1.4.1.789.1.9.20.1.5
147
- name: snapmirrorState
148
- description: Total number of failed snapmirror transfers
149
- unit: "{transfers}"
150
-
151
- # Disk filesystems
222
+ OID: 1.3.6.1.4.1.789.1.9.20.1.3
223
+ name: snapmirrorDst
224
225
+ # Disk filesystems (http://oidref.com/1.3.6.1.4.1.789.1.5.4.1)
226
- MIB: NETAPP-MIB
227
table:
228
OID: 1.3.6.1.4.1.789.1.5.4
229
name: dfTable
230
metric_type: gauge
231
symbols:
232
+ - OID: 1.3.6.1.4.1.789.1.5.4.1.20
233
+ name: dfStatus
234
+ description: The status of the file system
235
+ family: FileSystem/Status
236
+ unit: "{status}"
237
+ mapping:
238
+ 1: unmounted
239
+ 2: mounted
240
+ 3: frozen
241
+ 4: destroying
242
+ 5: creating
243
+ 6: mounting
244
+ 7: unmounting
245
+ 8: nofsinfo
246
+ 9: replaying
247
+ 10: replayed
248
+ - OID: 1.3.6.1.4.1.789.1.5.4.1.21
249
+ name: dfMirrorStatus
250
+ description: The status of the file system
251
+ family: FileSystem/Mirror/Status
252
+ unit: "{status}"
253
+ mapping:
254
+ 1: invalid
255
+ 2: uninitialized
256
+ 3: needcpcheck
257
+ 4: cpcheckwait
258
+ 5: unmirrored
259
+ 6: normal
260
+ 7: degraded
261
+ 8: resyncing
262
+ 9: failed
263
+ 10: limbo
264
- OID: 1.3.6.1.4.1.789.1.5.4.1.14
265
name: dfHighTotalKBytes
161
- description: Total capacity in KBytes for the referenced file system (most significant 32 bits)
162
- unit: "kBy"
266
+ description: Total capacity for the referenced file system
267
+ family: FileSystem/Space/Total
268
+ unit: "By"
269
+ scale_factor: 1024
270
+ - OID: 1.3.6.1.4.1.789.1.5.4.1.16
271
+ name: dfHighUsedKBytes
272
+ description: The total disk space that is in use on the referenced file system
273
+ family: FileSystem/Space/Used
274
+ unit: "By"
275
+ scale_factor: 1024
276
- OID: 1.3.6.1.4.1.789.1.5.4.1.18
277
name: dfHighAvailKBytes
165
- description: Total disk space in KBytes that is free for use on the referenced file system (most significant 32 bits)
166
- unit: "kBy"
278
+ description: Total disk space that is free for use on the referenced file system
279
+ family: FileSystem/Space/Available
280
+ unit: "By"
281
+ scale_factor: 1024
282
- OID: 1.3.6.1.4.1.789.1.5.4.1.7
283
name: dfInodesUsed
284
description: Total number of inodes in use on the referenced file system
285
+ family: FileSystem/Inode/Used
286
unit: "{inode}"
287
- OID: 1.3.6.1.4.1.789.1.5.4.1.8
288
name: dfInodesFree
289
description: Total number of inodes that are available for use on the referenced file system
290
+ family: FileSystem/Inode/Free
291
unit: "{inode}"
292
metric_tags:
176
- - tag: index
293
+ - tag: df_index
294
symbol:
295
OID: 1.3.6.1.4.1.789.1.5.4.1.1
296
name: dfIndex
180
- - tag: filesystem
297
+ - tag: df_filesystem
298
symbol:
299
OID: 1.3.6.1.4.1.789.1.5.4.1.2
300
name: dfFileSys
301
+ - tag: df_type
302
+ symbol:
303
+ OID: 1.3.6.1.4.1.789.1.5.4.1.23
304
+ name: dfType
305
185
- # Network interfaces
186
-
306
+ # Network interfaces (http://oidref.com/1.3.6.1.4.1.789.1.22.1.2.1)
307
- MIB: NETAPP-MIB
308
table:
309
OID: 1.3.6.1.4.1.789.1.22.1.2
310
name: netifTable
191
- metric_type: monotonic_count_and_rate
311
symbols:
193
- - OID: 1.3.6.1.4.1.789.1.22.1.2.1.3
194
- name: ifHighInOctets
195
- description: Total number of octets received on the interface including framing characters (most significant 32 bits)
196
- unit: "By"
312
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.25
313
+ name: if64InOctets
314
+ description: The total number of octets received on the interface, including framing characters
315
+ family: Interfaces/Traffic/Total/In
316
+ unit: "bits/s"
317
+ scale_factor: 8
318
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.31
319
+ name: if64OutOctets
320
+ description: The total number of octets transmitted out of the interface, including framing characters
321
+ family: Interfaces/Traffic/Total/Out
322
+ unit: "bits/s"
323
+ scale_factor: 8
324
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.26
325
+ name: if64InUcastPkts
326
+ description: The number of unicast packets delivered to a higher-layer protocol
327
+ family: Interfaces/Packet/Unicast/In
328
+ unit: "packets/s"
329
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.32
330
+ name: if64OutUcastPkts
331
+ description: The total number of unicast packets requested to be transmitted
332
+ family: Interfaces/Packet/Unicast/Out
333
+ unit: "packets/s"
334
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.27
335
+ name: if64InNUcastPkts
336
+ description: The number of non-unicast (broadcast/multicast) packets delivered to a higher-layer protocol
337
+ family: Interfaces/Packet/NonUnicast/In
338
+ unit: "packets/s"
339
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.33
340
+ name: if64OutNUcastPkts
341
+ description: The total number of non-unicast packets requested to be transmitted
342
+ family: Interfaces/Packet/NonUnicast/Out
343
+ unit: "packets/s"
344
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.28
345
+ name: if64InDiscards
346
+ description: The number of inbound packets discarded even though no errors were detected
347
+ family: Interfaces/Discard/In
348
+ unit: "packets/s"
349
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.34
350
+ name: if64OutDiscards
351
+ description: The number of outbound packets discarded even though no errors were detected
352
+ family: Interfaces/Discard/Out
353
+ unit: "packets/s"
354
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.29
355
+ name: if64InErrors
356
+ description: The number of inbound packets containing errors preventing delivery to higher-layer protocol
357
+ family: Interfaces/Error/Total/In
358
+ unit: "errors/s"
359
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.35
360
+ name: if64OutErrors
361
+ description: The number of outbound packets that could not be transmitted due to errors
362
+ family: Interfaces/Error/Total/Out
363
+ unit: "errors/s"
364
+ - OID: 1.3.6.1.4.1.789.1.22.1.2.1.30
365
+ name: if64InUnknownProtos
366
+ description: The number of packets discarded due to unknown or unsupported protocol
367
+ family: Interfaces/Error/UnknownProtocol/In
368
+ unit: "packets/s"
369
metric_tags:
198
- - tag: index
370
+ - tag: interface_index
371
symbol:
372
OID: 1.3.6.1.4.1.789.1.22.1.2.1.1
373
name: netifIndex
202
- - tag: interface
374
+ - tag: _interface
375
symbol:
204
- # A DisplayString that represents the manufacturer, product name and hardware version.
205
- # Will be normalized to something like 'netgear_ifX300_v1'.
376
OID: 1.3.6.1.4.1.789.1.22.1.2.1.2
377
name: netifDescr