fix(inputs.upsd): Add additional fields (#12543)

This commit is contained in:
Joshua Powers 2023-01-31 02:41:58 -07:00 committed by GitHub
parent b20e490031
commit f82f2fdb16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 17 deletions

View File

@ -73,17 +73,22 @@ func (u *Upsd) gatherUps(acc telegraf.Accumulator, name string, variables []nut.
} }
fields := map[string]interface{}{ fields := map[string]interface{}{
"battery_date": metrics["battery.mfr.date"], "battery_date": metrics["battery.date"],
"status_flags": status, "battery_mfr_date": metrics["battery.mfr.date"],
"status_flags": status,
"ups_status": metrics["ups.status"],
//Compatibility with apcupsd metrics format //Compatibility with apcupsd metrics format
"time_left_ns": timeLeftS * 1_000_000_000, "time_left_ns": timeLeftS * 1_000_000_000,
"ups_status": metrics["ups.status"],
} }
floatValues := map[string]string{ floatValues := map[string]string{
"battery_charge_percent": "battery.charge", "battery_charge_percent": "battery.charge",
"battery_runtime_low": "battery.runtime.low",
"battery_voltage": "battery.voltage", "battery_voltage": "battery.voltage",
"input_frequency": "input.frequency", "input_frequency": "input.frequency",
"input_transfer_high": "input.transfer.high",
"input_transfer_low": "input.transfer.low",
"input_voltage": "input.voltage", "input_voltage": "input.voltage",
"internal_temp": "ups.temperature", "internal_temp": "ups.temperature",
"load_percent": "ups.load", "load_percent": "ups.load",
@ -91,6 +96,8 @@ func (u *Upsd) gatherUps(acc telegraf.Accumulator, name string, variables []nut.
"nominal_input_voltage": "input.voltage.nominal", "nominal_input_voltage": "input.voltage.nominal",
"nominal_power": "ups.realpower.nominal", "nominal_power": "ups.realpower.nominal",
"output_voltage": "output.voltage", "output_voltage": "output.voltage",
"ups_delay_shutdown": "ups.delay.shutdown",
"ups_delay_start": "ups.delay.start",
} }
for key, rawValue := range floatValues { for key, rawValue := range floatValues {

View File

@ -33,19 +33,20 @@ func TestUpsdGather(t *testing.T) {
"status_OL": "true", "status_OL": "true",
}, },
fields: map[string]interface{}{ fields: map[string]interface{}{
"status_flags": uint64(8),
"ups_status": "OL",
"battery_charge_percent": float64(100), "battery_charge_percent": float64(100),
"battery_date": nil,
"battery_mfr_date": "2016-07-26",
"battery_voltage": float64(13.4), "battery_voltage": float64(13.4),
"firmware": "CUSTOM_FIRMWARE",
"input_voltage": float64(242), "input_voltage": float64(242),
"load_percent": float64(23), "load_percent": float64(23),
"output_voltage": float64(230),
"time_left_ns": int64(600000000000),
"nominal_input_voltage": float64(230),
"nominal_battery_voltage": float64(24), "nominal_battery_voltage": float64(24),
"nominal_input_voltage": float64(230),
"nominal_power": int64(700), "nominal_power": int64(700),
"firmware": "CUSTOM_FIRMWARE", "output_voltage": float64(230),
"battery_date": "2016-07-26", "status_flags": uint64(8),
"time_left_ns": int64(600000000000),
"ups_status": "OL",
}, },
out: genOutput, out: genOutput,
}, },
@ -60,19 +61,20 @@ func TestUpsdGather(t *testing.T) {
"status_OL": "true", "status_OL": "true",
}, },
fields: map[string]interface{}{ fields: map[string]interface{}{
"status_flags": uint64(8),
"ups_status": "OL",
"battery_charge_percent": float64(100), "battery_charge_percent": float64(100),
"battery_date": nil,
"battery_mfr_date": "2016-07-26",
"battery_voltage": float64(13.4), "battery_voltage": float64(13.4),
"firmware": "CUSTOM_FIRMWARE",
"input_voltage": float64(242), "input_voltage": float64(242),
"load_percent": float64(23), "load_percent": float64(23),
"output_voltage": float64(230),
"time_left_ns": int64(600000000000),
"nominal_input_voltage": float64(230),
"nominal_battery_voltage": float64(24), "nominal_battery_voltage": float64(24),
"nominal_input_voltage": float64(230),
"nominal_power": int64(700), "nominal_power": int64(700),
"firmware": "CUSTOM_FIRMWARE", "output_voltage": float64(230),
"battery_date": "2016-07-26", "status_flags": uint64(8),
"time_left_ns": int64(600000000000),
"ups_status": "OL",
}, },
out: genOutput, out: genOutput,
}, },