influxdata / influxdata/telegraf
Error in plugin: error parsing input: invalid character '<' looking for beginning of value
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
### Relevant telegraf.conf
```toml
[agent]
interval = "60s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "10s"
flush_interval = "60s"
flush_jitter = "10s"
hostname = "telegraf-redfish"
omit_hostname = false
logfile = "/var/log/telegraf/telegraf.log"
skip_processors_after_aggregators = false
[[outputs.influxdb_v2]]
urls = ["${INFLUX_HOST}"]
token = "${INFLUX_TOKEN}"
organization = ""
bucket = "${INFLUX_DATABASE}"
timeout = "10s"
content_encoding = "gzip"
tls_min_version = "TLS1.3"
# Supermicro server BMC — Redfish
# Pulls: thermal (temps + fans), power (PSU + voltages)
# Excludes: inventory (model, serial, firmware versions, asset tags)
[[inputs.redfish]]
address = "https://10.0.32.100"
username = "username"
password = "password"
computer_system_id = "1" # Supermicro typically uses "1"
insecure_skip_verify = true # BMCs ship with self-signed certs
interval = "60s"
timeout = "20s"
## Only keep numeric sensor measurements; drop inventory/system metadata
namepass = [
"redfish_thermal_temperatures",
"redfish_thermal_fans",
"redfish_power_powersupplies",
"redfish_power_powercontrol",
"redfish_power_voltages",
]
## Drop string-valued and inventory-style fields
fieldexclude = [
"*Version",
"Manufacturer",
"Model",
"PartNumber",
"SerialNumber",
"SKU",
"AssetTag",
"Description",
"FirmwareVersion",
"MemberId",
"SparePartNumber",
"PowerSupplyType",
"LineInputVoltageType",
]
## Constrain tags — protects against firmware-introduced tag explosions
taginclude = [
"host", "source", "address", "name", "member_id",
"device", "room", "rack", "role",
]
[inputs.redfish.tags]
device = "lh100.server.name"
room = "DC 25"
rack = "Z24"
role = "Server"
```
### Logs from Telegraf
```text
telegraf --config /etc/telegraf/telegraf.d/lh100.server.name.conf --test --debug --non-strict-env-handling --input-filter redfish
2026-07-17T06:36:47Z I! Loading config: /etc/telegraf/telegraf.d/lh100.server.name.conf
2026-07-17T06:36:47Z I! Starting Telegraf 1.39.1 brought to you by InfluxData the makers of InfluxDB
2026-07-17T06:36:47Z I! Available plugins: 245 inputs, 9 aggregators, 35 processors, 26 parsers, 68 outputs, 8 secret stores
2026-07-17T06:36:47Z I! Loaded inputs: redfish
2026-07-17T06:36:47Z I! Loaded aggregators:
2026-07-17T06:36:47Z I! Loaded processors:
2026-07-17T06:36:47Z I! Loaded secretstores:
2026-07-17T06:36:47Z W! Outputs are not used in testing mode!
2026-07-17T06:36:47Z I! Tags enabled: host=telegraf-redfish
2026-07-17T06:36:47Z W! [agent] The default value of 'skip_processors_after_aggregators' will change to 'true' with Telegraf v1.40.0! If you need the current default behavior, please explicitly set the option to 'false'!
2026-07-17T06:36:47Z D! [agent] Initializing plugins
2026-07-17T06:36:47Z D! [agent] Starting service inputs
2026-07-17T06:36:48Z E! [inputs.redfish] Error in plugin: error parsing input: invalid character '<' looking for beginning of value
2026-07-17T06:36:48Z D! [agent] Stopping service inputs
2026-07-17T06:36:48Z D! [agent] Input channel closed
2026-07-17T06:36:48Z D! [agent] Stopped Successfully
```
### System info
Telegraf 1.39.1, Docker image, Ubuntu 26.04 - querying a Supermicro AS-1116CS-TN Server - H14SHM motherboard
### Docker
services:
telegraf-redfish:
image: telegraf:latest
container_name: telegraf-redfish
restart: unless-stopped
hostname: telegraf-redfish
volumes:
- /etc/telegraf/redfish/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /etc/telegraf/redfish/telegraf.d:/etc/telegraf/telegraf.d:ro
command:
telegraf
--config /etc/telegraf/telegraf.conf
--config-directory /etc/telegraf/telegraf.d/
--watch-config poll
environment:
INFLUX_HOST: https://xxxx.xxxxx.xxxx
INFLUX_TOKEN: ${INFLUX_TOKEN}
INFLUX_DATABASE: servers
BMC_USER: ${BMC_USER}
BMC_PASS: ${BMC_PASS}
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
influxdb:
condition: service_healthy
networks:
- monitoring
### Steps to reproduce
1.Using the telegraf template provided and running the test produces the error.
2.
3.
...
### Expected behavior
Should get the results
### Actual behavior
[inputs.redfish] Error in plugin: error parsing input: invalid character '<' looking for beginning of value
### Additional info
I can confirm all redfish endpoints are returning json responses:
Endpoint Result
/redfish/v1/ 200 JSON
/redfish/v1/Systems/1 200 JSON
/redfish/v1/Chassis + /Chassis/1 200 JSON
/redfish/v1/Chassis/1/Thermal 200 JSON
/redfish/v1/Chassis/1/Power 200 JSON
40 rapid requests (burst) 40/40 JSON, no HTML
even bogus/404 Redfish paths 404 JSON (never HTML)
Contributor guide
Assessment
This issue has not been assessed yet.