@cryptotaxi247 / netdata / commits / c06d55491

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