@cryptotaxi247 / netdata-1 / commits / 137b6cbe1

SNMP Mikrotik profile make units in transform ucum (#20611)

Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>

Fotis Voutsas committed Jul 1, 2025 at 10:19 UTC 137b6cbe10c51a8c3cdb71eb11e72b321312a771
3 files changed +16 -16
src/go/plugin/go.d/collector/snmp/ddsnmp/transform.go
+9 -9
@@ -172,15 +172,15 @@ func newMetricTransformFuncMap() template.FuncMap {
172 config := map[string]map[string]interface{}{
173 "1": {"name": "unspecified", "family": "Sensor/Generic/Value", "desc": "Unspecified or vendor-specific sensor"},
174 "2": {"name": "unknown", "family": "Sensor/Unknown/Value", "desc": "Unknown sensor type"},
175 - "3": {"name": "voltage_ac", "unit": "volts", "family": "Sensor/Voltage/AC", "desc": "AC voltage"},
176 - "4": {"name": "voltage_dc", "unit": "volts", "family": "Sensor/Voltage/DC", "desc": "DC voltage"},
177 - "5": {"name": "current", "unit": "amperes", "family": "Sensor/Current/Value", "desc": "Current draw"},
178 - "6": {"name": "power", "unit": "watts", "family": "Sensor/Power/Value", "desc": "Power consumption"},
179 - "7": {"name": "frequency", "unit": "hertz", "family": "Sensor/Frequency/Value", "desc": "Frequency"},
180 - "8": {"name": "temperature", "unit": "celsius", "family": "Sensor/Temperature/Value", "desc": "Temperature reading"},
181 - "9": {"name": "humidity", "unit": "percentage", "family": "Sensor/Humidity/Value", "desc": "Relative humidity"},
182 - "10": {"name": "fan_speed", "unit": "rpm", "family": "Sensor/FanSpeed/Value", "desc": "Fan rotation speed"},
183 - "11": {"name": "airflow", "unit": "cmm", "family": "Sensor/Airflow/Value", "desc": "Airflow in cubic meters per minute"},
175 + "3": {"name": "voltage_ac", "unit": "V", "family": "Sensor/Voltage/AC", "desc": "AC voltage"},
176 + "4": {"name": "voltage_dc", "unit": "V", "family": "Sensor/Voltage/DC", "desc": "DC voltage"},
177 + "5": {"name": "current", "unit": "A", "family": "Sensor/Current/Value", "desc": "Current draw"},
178 + "6": {"name": "power", "unit": "W", "family": "Sensor/Power/Value", "desc": "Power consumption"},
179 + "7": {"name": "frequency", "unit": "Hz", "family": "Sensor/Frequency/Value", "desc": "Frequency"},
180 + "8": {"name": "temperature", "unit": "Cel", "family": "Sensor/Temperature/Value", "desc": "Temperature reading"},
181 + "9": {"name": "humidity", "unit": "%", "family": "Sensor/Humidity/Value", "desc": "Relative humidity"},
182 + "10": {"name": "fan_speed", "unit": "{revolution}/min", "family": "Sensor/FanSpeed/Value", "desc": "Fan rotation speed"},
183 + "11": {"name": "airflow", "unit": "m3/min", "family": "Sensor/Airflow/Value", "desc": "Airflow in cubic meters per minute"},
184 "12": {"name": "sensor_state", "family": "Sensor/State/Value", "desc": "Boolean sensor state", "mapping": map[int64]string{
185 0: "false", 1: "true", 2: "true",
186 }},
src/go/plugin/go.d/config/go.d/snmp.profiles/default/alcatel-lucent-ent.yaml
+1 -1
@@ -333,7 +333,7 @@ metrics:
333 OID: 1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.4
334 description: Fan speed in revolutions per minute
335 family: Fan/Speed
336 - unit: "{revolutions}/min"
336 + unit: "{revolution}/min"
337 metric_tags:
338 - tag: ala_chas_ent_phys_fan_status
339 symbol:
src/go/plugin/go.d/config/go.d/snmp.profiles/default/mikrotik-router.yaml
+6 -6
@@ -186,15 +186,15 @@ metrics:
186 transform: |
187 {{- $sensorType := index .Metric.Tags "sensor_type" | default "" -}}
188 {{- $config := get (dict
189 - "1" (dict "name" "temperature" "unit" "celsius" "family" "Sensor/Temperature/Value"
189 + "1" (dict "name" "temperature" "unit" "Cel" "family" "Sensor/Temperature/Value"
190 "desc" "Temperature reading")
191 - "2" (dict "name" "fan_speed" "unit" "rpm" "family" "Sensor/FanSpeed/Value"
191 + "2" (dict "name" "fan_speed" "unit" "{revolution}/min" "family" "Sensor/FanSpeed/Value"
192 "desc" "Fan rotation speed")
193 - "3" (dict "name" "voltage" "unit" "volts" "family" "Sensor/Voltage/Value" "divisor" 10.0
193 + "3" (dict "name" "voltage" "unit" "V" "family" "Sensor/Voltage/Value" "divisor" 10.0
194 "desc" "Voltage measurement")
195 - "4" (dict "name" "current" "unit" "amperes" "family" "Sensor/Current/Value" "divisor" 10.0
195 + "4" (dict "name" "current" "unit" "A" "family" "Sensor/Current/Value" "divisor" 10.0
196 "desc" "Current draw")
197 - "5" (dict "name" "power" "unit" "watts" "family" "Sensor/Power/Value" "divisor" 10.0
197 + "5" (dict "name" "power" "unit" "W" "family" "Sensor/Power/Value" "divisor" 10.0
198 "desc" "Power consumption")
199 "6" (dict "name" "sensor_status" "family" "Sensor/Presence/Status"
200 "mapping" (i64map 0 "absent_or_faulty" 1 "present_and_ok")
@@ -202,7 +202,7 @@ metrics:
202 "7" (dict "name" "sensor_state" "family" "Sensor/State/Value"
203 "mapping" (i64map 0 "false" 1 "true")
204 "desc" "Boolean sensor state")
205 - "8" (dict "name" "usage_percentage" "unit" "percentage" "family" "Sensor/Usage/Value"
205 + "8" (dict "name" "usage_percentage" "unit" "%" "family" "Sensor/Usage/Value"
206 "desc" "Resource utilization percentage")
207 ) $sensorType -}}
208