diff --git a/plugins/inputs/apcupsd/README.md b/plugins/inputs/apcupsd/README.md index a5ad29838..c18013a00 100644 --- a/plugins/inputs/apcupsd/README.md +++ b/plugins/inputs/apcupsd/README.md @@ -24,8 +24,8 @@ apcupsd should be installed and it's daemon should be running. - apcupsd - tags: - serial - - status (string representing the set status_flags) - ups_name + - status (string representing the set status_flags) - model - fields: - status_flags ([status-bits][]) @@ -38,11 +38,14 @@ apcupsd should be installed and it's daemon should be running. - battery_voltage - input_frequency - time_on_battery_ns - - battery_date + - cumulative_time_on_battery_ns - nominal_input_voltage - nominal_battery_voltage - nominal_power - firmware + - battery_date + - last_transfer + - number_transfers ## Example Output diff --git a/plugins/inputs/apcupsd/apcupsd.go b/plugins/inputs/apcupsd/apcupsd.go index fbad00c7a..299b97362 100644 --- a/plugins/inputs/apcupsd/apcupsd.go +++ b/plugins/inputs/apcupsd/apcupsd.go @@ -66,21 +66,24 @@ func (h *ApcUpsd) Gather(acc telegraf.Accumulator) error { } fields := map[string]interface{}{ - "status_flags": flags, - "input_voltage": status.LineVoltage, - "load_percent": status.LoadPercent, - "battery_charge_percent": status.BatteryChargePercent, - "time_left_ns": status.TimeLeft.Nanoseconds(), - "output_voltage": status.OutputVoltage, - "internal_temp": status.InternalTemp, - "battery_voltage": status.BatteryVoltage, - "input_frequency": status.LineFrequency, - "time_on_battery_ns": status.TimeOnBattery.Nanoseconds(), - "nominal_input_voltage": status.NominalInputVoltage, - "nominal_battery_voltage": status.NominalBatteryVoltage, - "nominal_power": status.NominalPower, - "firmware": status.Firmware, - "battery_date": status.BatteryDate, + "status_flags": flags, + "input_voltage": status.LineVoltage, + "load_percent": status.LoadPercent, + "battery_charge_percent": status.BatteryChargePercent, + "time_left_ns": status.TimeLeft.Nanoseconds(), + "output_voltage": status.OutputVoltage, + "internal_temp": status.InternalTemp, + "battery_voltage": status.BatteryVoltage, + "input_frequency": status.LineFrequency, + "time_on_battery_ns": status.TimeOnBattery.Nanoseconds(), + "cumulative_time_on_battery_ns": status.CumulativeTimeOnBattery.Nanoseconds(), + "nominal_input_voltage": status.NominalInputVoltage, + "nominal_battery_voltage": status.NominalBatteryVoltage, + "nominal_power": status.NominalPower, + "firmware": status.Firmware, + "battery_date": status.BatteryDate, + "last_transfer": status.LastTransfer, + "number_transfers": status.NumberTransfers, } acc.AddFields("apcupsd", fields, tags) diff --git a/plugins/inputs/apcupsd/apcupsd_test.go b/plugins/inputs/apcupsd/apcupsd_test.go index ee9474adc..35cd386c8 100644 --- a/plugins/inputs/apcupsd/apcupsd_test.go +++ b/plugins/inputs/apcupsd/apcupsd_test.go @@ -127,21 +127,24 @@ func TestApcupsdGather(t *testing.T) { "model": "Model 12345", }, fields: map[string]interface{}{ - "status_flags": uint64(8), - "battery_charge_percent": float64(0), - "battery_voltage": float64(0), - "input_frequency": float64(0), - "input_voltage": float64(0), - "internal_temp": float64(0), - "load_percent": float64(13), - "output_voltage": float64(0), - "time_left_ns": int64(2790000000000), - "time_on_battery_ns": int64(0), - "nominal_input_voltage": float64(230), - "nominal_battery_voltage": float64(12), - "nominal_power": 865, - "firmware": "857.L3 .I USB FW:L3", - "battery_date": "2016-09-06", + "status_flags": uint64(8), + "input_voltage": float64(0), + "load_percent": float64(13), + "battery_charge_percent": float64(0), + "time_left_ns": int64(2790000000000), + "output_voltage": float64(0), + "internal_temp": float64(0), + "battery_voltage": float64(0), + "input_frequency": float64(0), + "time_on_battery_ns": int64(0), + "cumulative_time_on_battery_ns": int64(85000000000), + "nominal_input_voltage": float64(230), + "nominal_battery_voltage": float64(12), + "nominal_power": 865, + "firmware": "857.L3 .I USB FW:L3", + "battery_date": "2016-09-06", + "last_transfer": "Low line voltage", + "number_transfers": 1, }, out: genOutput, }, @@ -197,11 +200,13 @@ func genOutput() [][]byte { "MODEL : Model 12345", "DATE : 2016-09-06 22:13:28 -0400", "HOSTNAME : example", - "LOADPCT : 13.0 Percent Load Capacity", + "LOADPCT : 13.0 Percent Load Capacity", "BATTDATE : 2016-09-06", - "TIMELEFT : 46.5 Minutes", + "TIMELEFT : 46.5 Minutes", "TONBATT : 0 seconds", - "NUMXFERS : 0", + "CUMONBATT: 85 seconds", + "LASTXFER : Low line voltage", + "NUMXFERS : 1", "SELFTEST : NO", "NOMINV : 230 Volts", "NOMBATTV : 12.0 Volts",