feat(inputs.apcupsd): Added new fields to apcupsd (#12014)

This commit is contained in:
Oliver Gregorius 2022-10-24 15:58:51 +02:00 committed by GitHub
parent dd802531ef
commit f7c46fd7a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 46 additions and 35 deletions

View File

@ -24,8 +24,8 @@ apcupsd should be installed and it's daemon should be running.
- apcupsd - apcupsd
- tags: - tags:
- serial - serial
- status (string representing the set status_flags)
- ups_name - ups_name
- status (string representing the set status_flags)
- model - model
- fields: - fields:
- status_flags ([status-bits][]) - status_flags ([status-bits][])
@ -38,11 +38,14 @@ apcupsd should be installed and it's daemon should be running.
- battery_voltage - battery_voltage
- input_frequency - input_frequency
- time_on_battery_ns - time_on_battery_ns
- battery_date - cumulative_time_on_battery_ns
- nominal_input_voltage - nominal_input_voltage
- nominal_battery_voltage - nominal_battery_voltage
- nominal_power - nominal_power
- firmware - firmware
- battery_date
- last_transfer
- number_transfers
## Example Output ## Example Output

View File

@ -66,21 +66,24 @@ func (h *ApcUpsd) Gather(acc telegraf.Accumulator) error {
} }
fields := map[string]interface{}{ fields := map[string]interface{}{
"status_flags": flags, "status_flags": flags,
"input_voltage": status.LineVoltage, "input_voltage": status.LineVoltage,
"load_percent": status.LoadPercent, "load_percent": status.LoadPercent,
"battery_charge_percent": status.BatteryChargePercent, "battery_charge_percent": status.BatteryChargePercent,
"time_left_ns": status.TimeLeft.Nanoseconds(), "time_left_ns": status.TimeLeft.Nanoseconds(),
"output_voltage": status.OutputVoltage, "output_voltage": status.OutputVoltage,
"internal_temp": status.InternalTemp, "internal_temp": status.InternalTemp,
"battery_voltage": status.BatteryVoltage, "battery_voltage": status.BatteryVoltage,
"input_frequency": status.LineFrequency, "input_frequency": status.LineFrequency,
"time_on_battery_ns": status.TimeOnBattery.Nanoseconds(), "time_on_battery_ns": status.TimeOnBattery.Nanoseconds(),
"nominal_input_voltage": status.NominalInputVoltage, "cumulative_time_on_battery_ns": status.CumulativeTimeOnBattery.Nanoseconds(),
"nominal_battery_voltage": status.NominalBatteryVoltage, "nominal_input_voltage": status.NominalInputVoltage,
"nominal_power": status.NominalPower, "nominal_battery_voltage": status.NominalBatteryVoltage,
"firmware": status.Firmware, "nominal_power": status.NominalPower,
"battery_date": status.BatteryDate, "firmware": status.Firmware,
"battery_date": status.BatteryDate,
"last_transfer": status.LastTransfer,
"number_transfers": status.NumberTransfers,
} }
acc.AddFields("apcupsd", fields, tags) acc.AddFields("apcupsd", fields, tags)

View File

@ -127,21 +127,24 @@ func TestApcupsdGather(t *testing.T) {
"model": "Model 12345", "model": "Model 12345",
}, },
fields: map[string]interface{}{ fields: map[string]interface{}{
"status_flags": uint64(8), "status_flags": uint64(8),
"battery_charge_percent": float64(0), "input_voltage": float64(0),
"battery_voltage": float64(0), "load_percent": float64(13),
"input_frequency": float64(0), "battery_charge_percent": float64(0),
"input_voltage": float64(0), "time_left_ns": int64(2790000000000),
"internal_temp": float64(0), "output_voltage": float64(0),
"load_percent": float64(13), "internal_temp": float64(0),
"output_voltage": float64(0), "battery_voltage": float64(0),
"time_left_ns": int64(2790000000000), "input_frequency": float64(0),
"time_on_battery_ns": int64(0), "time_on_battery_ns": int64(0),
"nominal_input_voltage": float64(230), "cumulative_time_on_battery_ns": int64(85000000000),
"nominal_battery_voltage": float64(12), "nominal_input_voltage": float64(230),
"nominal_power": 865, "nominal_battery_voltage": float64(12),
"firmware": "857.L3 .I USB FW:L3", "nominal_power": 865,
"battery_date": "2016-09-06", "firmware": "857.L3 .I USB FW:L3",
"battery_date": "2016-09-06",
"last_transfer": "Low line voltage",
"number_transfers": 1,
}, },
out: genOutput, out: genOutput,
}, },
@ -197,11 +200,13 @@ func genOutput() [][]byte {
"MODEL : Model 12345", "MODEL : Model 12345",
"DATE : 2016-09-06 22:13:28 -0400", "DATE : 2016-09-06 22:13:28 -0400",
"HOSTNAME : example", "HOSTNAME : example",
"LOADPCT : 13.0 Percent Load Capacity", "LOADPCT : 13.0 Percent Load Capacity",
"BATTDATE : 2016-09-06", "BATTDATE : 2016-09-06",
"TIMELEFT : 46.5 Minutes", "TIMELEFT : 46.5 Minutes",
"TONBATT : 0 seconds", "TONBATT : 0 seconds",
"NUMXFERS : 0", "CUMONBATT: 85 seconds",
"LASTXFER : Low line voltage",
"NUMXFERS : 1",
"SELFTEST : NO", "SELFTEST : NO",
"NOMINV : 230 Volts", "NOMINV : 230 Volts",
"NOMBATTV : 12.0 Volts", "NOMBATTV : 12.0 Volts",