go.d/snmp: improve Cisco Catalyst SNMP monitoring (#22191)
Costa Tsaousis committed
Apr 14, 2026 at 12:48 UTC
24570135cc0b71ea7c703d7d472a74692043c4c2
7 files changed
+483
-12
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_cisco-base.yaml
+55
-10
@@ -8,6 +8,7 @@ extends:
8
- _std-bgp4-mib.yaml
9
- _std-ip-mib.yaml
10
- _cisco-metadata.yaml
11
+ - _cisco-hardware.yaml
12
13
metrics:
14
- MIB: CISCO-ENTITY-FRU-CONTROL-MIB
@@ -73,18 +74,34 @@ metrics:
74
description: Overall CPU busy percentage in the last 1 minute period
75
family: 'System/CPU/Usage'
76
unit: "%"
76
- - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.12
77
- name: cpmCPUMemoryUsed
77
+ - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.8
78
+ name: cpmCPUTotal5minRev
79
chart_meta:
79
- description: Overall CPU wide system memory which is currently under use
80
- family: 'System/CPU/Memory/Used'
81
- unit: "By"
82
- - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.13
83
- name: cpmCPUMemoryFree
80
+ description: Overall CPU busy percentage in the last 5 minute period
81
+ family: 'System/CPU/Usage'
82
+ unit: "%"
83
+ - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.25
84
+ name: cpmCPULoadAvg1min
85
chart_meta:
85
- description: Overall CPU wide system memory which is currently free
86
- family: 'System/CPU/Memory/Free'
87
- unit: "By"
86
+ description: CPU load average over the last 1 minute
87
+ family: 'System/CPU/LoadAvg'
88
+ unit: "{load_average}"
89
+ - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.26
90
+ name: cpmCPULoadAvg5min
91
+ chart_meta:
92
+ description: CPU load average over the last 5 minutes
93
+ family: 'System/CPU/LoadAvg'
94
+ unit: "{load_average}"
95
+ - OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.27
96
+ name: cpmCPULoadAvg15min
97
+ chart_meta:
98
+ description: CPU load average over the last 15 minutes
99
+ family: 'System/CPU/LoadAvg'
100
+ unit: "{load_average}"
101
+ - {OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.12, name: _cpmCPUMemoryUsed}
102
+ - {OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.13, name: _cpmCPUMemoryFree}
103
+ - {OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.17, name: _cpmCPUMemoryHCUsed}
104
+ - {OID: 1.3.6.1.4.1.9.9.109.1.1.1.1.19, name: _cpmCPUMemoryHCFree}
105
metric_tags:
106
- tag: cpu_index
107
index: 1
@@ -234,6 +251,17 @@ metrics:
251
OID: 1.3.6.1.4.1.9.9.500.1.2.1
252
name: cswSwitchInfoTable
253
symbols:
254
+ - OID: 1.3.6.1.4.1.9.9.500.1.2.1.1.3
255
+ name: cswSwitchRole
256
+ chart_meta:
257
+ description: Role of a switch in the stack
258
+ family: 'Hardware/StackWise/Switch/Role'
259
+ unit: "{role}"
260
+ mapping:
261
+ 1: master
262
+ 2: member
263
+ 3: not_member
264
+ 4: standby
265
- OID: 1.3.6.1.4.1.9.9.500.1.2.1.1.6
266
name: cswSwitchState
267
chart_meta:
@@ -603,3 +631,20 @@ metrics:
631
24: y1731_loss
632
25: mcast_jitter
633
26: fabric_path_echo
634
+
635
+virtual_metrics:
636
+ # CPU memory: prefer 64-bit HC counters, fallback to 32-bit
637
+ - name: cpmCPUMemory
638
+ per_row: true
639
+ group_by: ["cpu_index"]
640
+ alternatives:
641
+ - sources:
642
+ - {metric: _cpmCPUMemoryHCUsed, table: cpmCPUTotalTable, as: used}
643
+ - {metric: _cpmCPUMemoryHCFree, table: cpmCPUTotalTable, as: free}
644
+ - sources:
645
+ - {metric: _cpmCPUMemoryUsed, table: cpmCPUTotalTable, as: used}
646
+ - {metric: _cpmCPUMemoryFree, table: cpmCPUTotalTable, as: free}
647
+ chart_meta:
648
+ description: CPU wide system memory usage
649
+ family: 'System/CPU/Memory'
650
+ unit: "By"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_cisco-catalyst-poe.yaml
new
+149
@@ -0,0 +1,149 @@
1
+# PoE metrics mixin for Cisco Catalyst devices.
2
+# Standard POWER-ETHERNET-MIB (RFC 3621) + CISCO-POWER-ETHERNET-EXT-MIB.
3
+
4
+metrics:
5
+ # ---- Chassis-level PoE budget (one row per PSE group/module) ----
6
+ - MIB: POWER-ETHERNET-MIB
7
+ table:
8
+ OID: 1.3.6.1.2.1.105.1.3.1
9
+ name: pethMainPseTable
10
+ symbols:
11
+ - OID: 1.3.6.1.2.1.105.1.3.1.1.2
12
+ name: pethMainPsePower
13
+ chart_meta:
14
+ description: Total inline power available from the PSE
15
+ family: 'Hardware/PoE/Chassis/Budget'
16
+ unit: "W"
17
+ - OID: 1.3.6.1.2.1.105.1.3.1.1.4
18
+ name: pethMainPseConsumptionPower
19
+ chart_meta:
20
+ description: Measured usage power drawn from the PSE
21
+ family: 'Hardware/PoE/Chassis/Consumption'
22
+ unit: "W"
23
+ - OID: 1.3.6.1.2.1.105.1.3.1.1.5
24
+ name: pethMainPseUsageThreshold
25
+ chart_meta:
26
+ description: Usage threshold expressed in percent for comparing the measured power
27
+ family: 'Hardware/PoE/Chassis/Threshold'
28
+ unit: "%"
29
+ - OID: 1.3.6.1.2.1.105.1.3.1.1.3
30
+ name: pethMainPseOperStatus
31
+ chart_meta:
32
+ description: Operational status of the main PSE
33
+ family: 'Hardware/PoE/Chassis/Status'
34
+ unit: "{status}"
35
+ mapping:
36
+ 1: "on"
37
+ 2: "off"
38
+ 3: faulty
39
+ metric_tags:
40
+ - tag: pse_group_index
41
+ index: 1
42
+
43
+ # ---- Per-port PoE status (private — exposed via virtual_metrics) ----
44
+ - MIB: POWER-ETHERNET-MIB
45
+ table:
46
+ OID: 1.3.6.1.2.1.105.1.1.1
47
+ name: pethPsePortTable
48
+ symbols:
49
+ - OID: 1.3.6.1.2.1.105.1.1.1.1.6
50
+ name: pethPsePortDetectionStatus
51
+ chart_meta:
52
+ description: Detection status of the PSE port
53
+ family: 'Hardware/PoE/Port/Detection'
54
+ unit: "{status}"
55
+ mapping:
56
+ 1: disabled
57
+ 2: searching
58
+ 3: delivering_power
59
+ 4: fault
60
+ 5: test
61
+ 6: other_fault
62
+ - OID: 1.3.6.1.2.1.105.1.1.1.1.10
63
+ name: pethPsePortPowerClassifications
64
+ chart_meta:
65
+ description: Power class of the detected powered device
66
+ family: 'Hardware/PoE/Port/PowerClass'
67
+ unit: "{class}"
68
+ mapping:
69
+ 1: class0
70
+ 2: class1
71
+ 3: class2
72
+ 4: class3
73
+ 5: class4
74
+ - {OID: 1.3.6.1.2.1.105.1.1.1.1.11, name: _pethPsePortInvalidSignatureCounter}
75
+ - {OID: 1.3.6.1.2.1.105.1.1.1.1.8, name: _pethPsePortMPSAbsentCounter}
76
+ - {OID: 1.3.6.1.2.1.105.1.1.1.1.13, name: _pethPsePortOverLoadCounter}
77
+ - {OID: 1.3.6.1.2.1.105.1.1.1.1.12, name: _pethPsePortPowerDeniedCounter}
78
+ metric_tags:
79
+ - tag: pse_port_index
80
+ index: 2
81
+ - tag: interface
82
+ table: ifXTable
83
+ MIB: IF-MIB
84
+ symbol:
85
+ OID: 1.3.6.1.2.1.31.1.1.1.1
86
+ name: ifName
87
+ index_transform:
88
+ - start: 1
89
+ end: 1
90
+ - tag: _pse_port_priority
91
+ symbol:
92
+ OID: 1.3.6.1.2.1.105.1.1.1.1.7
93
+ name: pethPsePortPowerPriority
94
+ mapping:
95
+ 1: critical
96
+ 2: high
97
+ 3: low
98
+
99
+ # ---- Cisco PoE extension: per-port wattage (private — exposed via virtual_metrics) ----
100
+ - MIB: CISCO-POWER-ETHERNET-EXT-MIB
101
+ table:
102
+ OID: 1.3.6.1.4.1.9.9.402.1.2.1
103
+ name: cpeExtPsePortTable
104
+ symbols:
105
+ - {OID: 1.3.6.1.4.1.9.9.402.1.2.1.1.7, name: _cpeExtPsePortPwrAllocated}
106
+ - {OID: 1.3.6.1.4.1.9.9.402.1.2.1.1.8, name: _cpeExtPsePortPwrAvailable}
107
+ - {OID: 1.3.6.1.4.1.9.9.402.1.2.1.1.9, name: _cpeExtPsePortPwrConsumption}
108
+ - {OID: 1.3.6.1.4.1.9.9.402.1.2.1.1.10, name: _cpeExtPsePortMaxPwrDrawn}
109
+ metric_tags:
110
+ - tag: pse_port_index
111
+ index: 2
112
+ - tag: interface
113
+ table: ifXTable
114
+ MIB: IF-MIB
115
+ symbol:
116
+ OID: 1.3.6.1.2.1.31.1.1.1.1
117
+ name: ifName
118
+ index_transform:
119
+ - start: 1
120
+ end: 1
121
+
122
+virtual_metrics:
123
+ # Consolidate per-port fault counters into a single chart
124
+ - name: pethPsePortFaults
125
+ per_row: true
126
+ group_by: ["interface"]
127
+ sources:
128
+ - {metric: _pethPsePortInvalidSignatureCounter, table: pethPsePortTable, as: invalid_signature}
129
+ - {metric: _pethPsePortMPSAbsentCounter, table: pethPsePortTable, as: mps_absent}
130
+ - {metric: _pethPsePortOverLoadCounter, table: pethPsePortTable, as: overload}
131
+ - {metric: _pethPsePortPowerDeniedCounter, table: pethPsePortTable, as: power_denied}
132
+ chart_meta:
133
+ description: PoE port fault events
134
+ family: 'Hardware/PoE/Port/Faults'
135
+ unit: "{fault}/s"
136
+
137
+ # Consolidate per-port Cisco PoE power into a single chart
138
+ - name: cpeExtPsePortPower
139
+ per_row: true
140
+ group_by: ["interface"]
141
+ sources:
142
+ - {metric: _cpeExtPsePortPwrAllocated, table: cpeExtPsePortTable, as: allocated}
143
+ - {metric: _cpeExtPsePortPwrAvailable, table: cpeExtPsePortTable, as: available}
144
+ - {metric: _cpeExtPsePortPwrConsumption, table: cpeExtPsePortTable, as: consumption}
145
+ - {metric: _cpeExtPsePortMaxPwrDrawn, table: cpeExtPsePortTable, as: max_drawn}
146
+ chart_meta:
147
+ description: Per-port PoE power draw
148
+ family: 'Hardware/PoE/Port/Power'
149
+ unit: "mW"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_cisco-catalyst.yaml
+56
@@ -84,6 +84,43 @@ metrics:
84
description: "Number of output packets dropped by the interface"
85
family: 'Network/Interface/Queue/Drops/Out'
86
unit: "{drop}/s"
87
+ # L1/L2 error counters — primary debug signals for cabling/SFP/duplex issues
88
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.4
89
+ name: cieIfInRuntsErrs
90
+ chart_meta:
91
+ description: "Number of runt packets received (frames smaller than 64 bytes)"
92
+ family: 'Network/Interface/Errors/L1'
93
+ unit: "{error}/s"
94
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.5
95
+ name: cieIfInGiantsErrs
96
+ chart_meta:
97
+ description: "Number of giant packets received (frames larger than MTU)"
98
+ family: 'Network/Interface/Errors/L1'
99
+ unit: "{error}/s"
100
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.6
101
+ name: cieIfInFramingErrs
102
+ chart_meta:
103
+ description: "Number of framing error packets received"
104
+ family: 'Network/Interface/Errors/L1'
105
+ unit: "{error}/s"
106
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.7
107
+ name: cieIfInOverrunErrs
108
+ chart_meta:
109
+ description: "Number of overrun error packets received (hardware buffer exhaustion)"
110
+ family: 'Network/Interface/Errors/L1'
111
+ unit: "{error}/s"
112
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.8
113
+ name: cieIfInIgnored
114
+ chart_meta:
115
+ description: "Number of input packets ignored by the interface"
116
+ family: 'Network/Interface/Errors/L1'
117
+ unit: "{error}/s"
118
+ - OID: 1.3.6.1.4.1.9.9.276.1.1.1.1.9
119
+ name: cieIfInAbortErrs
120
+ chart_meta:
121
+ description: "Number of input packets aborted"
122
+ family: 'Network/Interface/Errors/L1'
123
+ unit: "{error}/s"
124
metric_tags:
125
- tag: interface
126
MIB: IF-MIB
@@ -91,3 +128,22 @@ metrics:
128
symbol:
129
OID: 1.3.6.1.2.1.31.1.1.1.1
130
name: ifName
131
+
132
+ # STP topology change detection (BRIDGE-MIB scalars)
133
+ - MIB: BRIDGE-MIB
134
+ symbol:
135
+ OID: 1.3.6.1.2.1.17.2.4.0
136
+ name: dot1dStpTimeSinceTopologyChange
137
+ scale_factor: 0.01
138
+ chart_meta:
139
+ description: Time since the last STP topology change was detected
140
+ family: 'Network/Bridge/STP/TopologyChange'
141
+ unit: "s"
142
+ - MIB: BRIDGE-MIB
143
+ symbol:
144
+ OID: 1.3.6.1.2.1.17.2.5.0
145
+ name: dot1dStpTopChanges
146
+ chart_meta:
147
+ description: Rate of STP topology changes detected
148
+ family: 'Network/Bridge/STP/TopologyChange'
149
+ unit: "{change}/s"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_cisco-cpu-memory.yaml
deleted
-2
@@ -1,2 +0,0 @@
1
-# CPU and memory metrics for Cisco devices.
2
-# TODO: remove, cpu and memory metrics are in "_cisco-base.yaml"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_cisco-hardware.yaml
new
+168
@@ -0,0 +1,168 @@
1
+# Hardware metrics mixin for Cisco devices.
2
+# Enhanced memory pools, environmental voltage, supervisor redundancy, stack ring health.
3
+
4
+metrics:
5
+ # Enhanced memory pool (modern replacement for CISCO-MEMORY-POOL-MIB)
6
+ # Supports 64-bit HC counters on IOS-XE devices.
7
+ - MIB: CISCO-ENHANCED-MEMPOOL-MIB
8
+ table:
9
+ OID: 1.3.6.1.4.1.9.9.221.1.1.1
10
+ name: cempMemPoolTable
11
+ symbols:
12
+ - {OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.7, name: _cempMemPoolUsed}
13
+ - {OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.8, name: _cempMemPoolFree}
14
+ - {OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.18, name: _cempMemPoolHCUsed}
15
+ - {OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.20, name: _cempMemPoolHCFree}
16
+ - OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.10
17
+ name: cempMemPoolLowestFree
18
+ chart_meta:
19
+ description: Lowest amount of free memory observed since last clear (watermark)
20
+ family: 'System/Memory/Enhanced/LowestFree'
21
+ unit: "By"
22
+ metric_tags:
23
+ - tag: mem_pool_index
24
+ index: 1
25
+ - tag: _mem_pool_name
26
+ symbol:
27
+ OID: 1.3.6.1.4.1.9.9.221.1.1.1.1.3
28
+ name: cempMemPoolName
29
+
30
+ # Voltage sensors (sibling of temperature/supply/fan already in _cisco-base.yaml)
31
+ - MIB: CISCO-ENVMON-MIB
32
+ table:
33
+ OID: 1.3.6.1.4.1.9.9.13.1.2
34
+ name: ciscoEnvMonVoltageStatusTable
35
+ symbols:
36
+ - OID: 1.3.6.1.4.1.9.9.13.1.2.1.3
37
+ name: ciscoEnvMonVoltageStatusValue
38
+ chart_meta:
39
+ description: Current measurement of the voltage testpoint
40
+ family: 'Hardware/Sensor/Voltage/Value'
41
+ unit: "mV"
42
+ - OID: 1.3.6.1.4.1.9.9.13.1.2.1.7
43
+ name: ciscoEnvMonVoltageState
44
+ chart_meta:
45
+ description: Current state of the voltage testpoint
46
+ family: 'Hardware/Sensor/Voltage/Status'
47
+ unit: "{status}"
48
+ mapping:
49
+ 1: normal
50
+ 2: warning
51
+ 3: critical
52
+ 4: shutdown
53
+ 5: not_present
54
+ 6: not_functioning
55
+ metric_tags:
56
+ - tag: voltage_index
57
+ index: 1
58
+ - tag: _voltage_desc
59
+ symbol:
60
+ OID: 1.3.6.1.4.1.9.9.13.1.2.1.2
61
+ name: ciscoEnvMonVoltageStatusDescr
62
+
63
+ # Supervisor redundancy framework
64
+ - MIB: CISCO-RF-MIB
65
+ symbol:
66
+ OID: 1.3.6.1.4.1.9.9.176.1.1.2.0
67
+ name: cRFStatusUnitState
68
+ chart_meta:
69
+ description: Current state of this redundancy unit
70
+ family: 'Hardware/Redundancy/Unit/Status'
71
+ unit: "{status}"
72
+ mapping:
73
+ 1: not_known
74
+ 2: disabled
75
+ 3: initialization
76
+ 4: negotiation
77
+ 5: standby_cold
78
+ 6: standby_hot
79
+ 7: active_fast
80
+ 8: active_drain
81
+ 9: active
82
+ 10: active_preconfig
83
+ 11: active_postconfig
84
+ 12: active_extraload
85
+ 13: active_handback
86
+ - MIB: CISCO-RF-MIB
87
+ symbol:
88
+ OID: 1.3.6.1.4.1.9.9.176.1.1.4.0
89
+ name: cRFStatusPeerUnitState
90
+ chart_meta:
91
+ description: Current state of the peer redundancy unit
92
+ family: 'Hardware/Redundancy/Peer/Status'
93
+ unit: "{status}"
94
+ mapping:
95
+ 1: not_known
96
+ 2: disabled
97
+ 3: initialization
98
+ 4: negotiation
99
+ 5: standby_cold
100
+ 6: standby_hot
101
+ 7: active_fast
102
+ 8: active_drain
103
+ 9: active
104
+ 10: active_preconfig
105
+ 11: active_postconfig
106
+ 12: active_extraload
107
+ 13: active_handback
108
+ - MIB: CISCO-RF-MIB
109
+ symbol:
110
+ OID: 1.3.6.1.4.1.9.9.176.1.1.6.0
111
+ name: cRFStatusDuplexMode
112
+ chart_meta:
113
+ description: Redundancy duplex mode (simplex=no redundancy, duplex=redundant pair)
114
+ family: 'Hardware/Redundancy/DuplexMode'
115
+ unit: "{status}"
116
+ mapping:
117
+ 1: simplex
118
+ 2: duplex
119
+ - MIB: CISCO-RF-MIB
120
+ symbol:
121
+ OID: 1.3.6.1.4.1.9.9.176.1.1.8.0
122
+ name: cRFStatusLastSwactReasonCode
123
+ chart_meta:
124
+ description: Reason code for the last switchover
125
+ family: 'Hardware/Redundancy/LastSwitchover/Reason'
126
+ unit: "{reason}"
127
+ mapping:
128
+ 1: unsupported
129
+ 2: none
130
+ 3: not_known
131
+ 4: user_initiated
132
+ 5: user_forced
133
+ 6: active_removed
134
+ 7: active_failed
135
+ 8: active_no_heartbeat
136
+ 9: active_no_shelf_power
137
+ 10: active_no_ext_power
138
+ 11: active_no_response
139
+
140
+ # Stack ring redundancy (scalar)
141
+ - MIB: CISCO-STACKWISE-MIB
142
+ symbol:
143
+ OID: 1.3.6.1.4.1.9.9.500.1.1.3.0
144
+ name: cswRingRedundant
145
+ chart_meta:
146
+ description: Whether the stack ring is in a redundant configuration
147
+ family: 'Hardware/StackWise/Ring/Redundancy'
148
+ unit: "{status}"
149
+ mapping:
150
+ 1: redundant
151
+ 2: not_redundant
152
+
153
+virtual_metrics:
154
+ # Enhanced memory: prefer 64-bit HC counters, fallback to 32-bit
155
+ - name: cempMemPoolUsage
156
+ per_row: true
157
+ group_by: ["mem_pool_index"]
158
+ alternatives:
159
+ - sources:
160
+ - {metric: _cempMemPoolHCUsed, table: cempMemPoolTable, as: used}
161
+ - {metric: _cempMemPoolHCFree, table: cempMemPoolTable, as: free}
162
+ - sources:
163
+ - {metric: _cempMemPoolUsed, table: cempMemPoolTable, as: used}
164
+ - {metric: _cempMemPoolFree, table: cempMemPoolTable, as: free}
165
+ chart_meta:
166
+ description: Enhanced memory pool usage
167
+ family: 'System/Memory/Enhanced'
168
+ unit: "By"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/_std-lag-mib.yaml
new
+53
@@ -0,0 +1,53 @@
1
+# IEEE 802.3ad Link Aggregation (LACP) metrics.
2
+# MIB: IEEE8023-LAG-MIB
3
+# Cross-vendor reusable — not Cisco-specific.
4
+
5
+metrics:
6
+ # Per-member-port LACP protocol statistics (private — exposed via virtual_metrics)
7
+ - MIB: IEEE8023-LAG-MIB
8
+ table:
9
+ OID: 1.2.840.10006.300.43.1.2.2
10
+ name: dot3adAggPortStatsTable
11
+ symbols:
12
+ - {OID: 1.2.840.10006.300.43.1.2.2.1.1, name: _dot3adAggPortStatsLACPDUsRx}
13
+ - {OID: 1.2.840.10006.300.43.1.2.2.1.2, name: _dot3adAggPortStatsLACPDUsTx}
14
+ - {OID: 1.2.840.10006.300.43.1.2.2.1.5, name: _dot3adAggPortStatsIllegalRx}
15
+ metric_tags:
16
+ - tag: lag_port_index
17
+ index: 1
18
+ - tag: interface
19
+ table: ifXTable
20
+ MIB: IF-MIB
21
+ symbol:
22
+ OID: 1.3.6.1.2.1.31.1.1.1.1
23
+ name: ifName
24
+
25
+ # TODO: LACP operational state (dot3adAggPortActorOperState / PartnerOperState)
26
+ # These are bitfield (BITS/OCTET STRING) values that encode 8 boolean flags
27
+ # (lacp_activity, timeout, aggregation, sync, collecting, distributing, defaulted, expired).
28
+ # Raw bitmap values are not meaningful as gauge metrics — they need bitmask mapping support
29
+ # to expose individual flags as separate status dimensions.
30
+ # Waiting for bitmask mapping support to be added to the profile engine.
31
+
32
+virtual_metrics:
33
+ # Consolidate PDU counters into a single per-port chart
34
+ - name: dot3adAggPortLACPDUs
35
+ per_row: true
36
+ group_by: ["interface"]
37
+ sources:
38
+ - {metric: _dot3adAggPortStatsLACPDUsRx, table: dot3adAggPortStatsTable, as: rx}
39
+ - {metric: _dot3adAggPortStatsLACPDUsTx, table: dot3adAggPortStatsTable, as: tx}
40
+ chart_meta:
41
+ description: LACP PDUs received and transmitted per port
42
+ family: 'Network/LAG/Port/PDU'
43
+ unit: "{pdu}/s"
44
+
45
+ - name: dot3adAggPortIllegalRx
46
+ per_row: true
47
+ group_by: ["interface"]
48
+ sources:
49
+ - {metric: _dot3adAggPortStatsIllegalRx, table: dot3adAggPortStatsTable, as: illegal}
50
+ chart_meta:
51
+ description: Invalid Slow Protocol frames received per port
52
+ family: 'Network/LAG/Port/Errors'
53
+ unit: "{frame}/s"
src/go/plugin/go.d/config/go.d/snmp.profiles/default/cisco-catalyst.yaml
+2
@@ -4,6 +4,8 @@ extends:
4
- _system-base.yaml
5
- _cisco-base.yaml
6
- _cisco-catalyst.yaml
7
+ - _cisco-catalyst-poe.yaml
8
+ - _std-lag-mib.yaml
9
10
metadata:
11
device: