# Telegraf Monitoring of PDU with REDFISH

**URL:** <https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776>\
**Category:** Telegraf\
**Tags:** plugin\
**Created:** [August 8, 2025, 1:50pm UTC](https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776 "2025-08-08T13:50:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![oldguardmd1](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/oldguardmd1/32/15152_2.png) [@oldguardmd1](https://community.influxdata.com/u/oldguardmd1)\
**Post date:** [August 8, 2025, 1:50pm UTC](https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776/1 "2025-08-08T13:50:43Z")

</div>

We have ServerTech PDUs that support REDFISH, and the output of REDFISH is a lot easier to assess than the SNMP options. It appears that the REDFISH plugin may only be intended to work with compute systems?

> This plugin gathers metrics and status information of server hardware with enabled [DMTF’s Redfish](https://redfish.dmtf.org/) support.

Is there any way to work around this (This plugin or a different plugin)

If I do this:

> curl -kfsS -u “${AuthString}” “https://${Ip}/redfish/v1/PowerEquipment/RackPDUs/1/Mains/I1” | jq ‘.“PolyPhaseCurrentAmps”’

I get this:

> {  
> “Line1”: {  
> “Reading”: 5.287,  
> “CrestFactor”: 1.481,  
> “THDPercent”: 6.3000000000000012  
> },  
> “Line2”: {  
> “Reading”: 5.579,  
> “CrestFactor”: 1.498,  
> “THDPercent”: 5.9  
> },  
> “Line3”: {  
> “Reading”: 6.468,  
> “CrestFactor”: 1.47,  
> “THDPercent”: 4.3  
> }  
> }

I would love to be able to process that with telegraf

---

<div class="post-metadata">

**Author:** ![oldguardmd1](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/oldguardmd1/32/15152_2.png) [@oldguardmd1](https://community.influxdata.com/u/oldguardmd1)\
**Post date:** [August 8, 2025, 3:30pm UTC](https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776/2 "2025-08-08T15:30:27Z")

</div>

I think I should be able to do something like this?

[[inputs.exec]]  
commands = [‘curl -kfsS -u “LogonName:LogonPassword” “[https://10.0.0.1/redfish/v1/PowerEquipment/RackPDUs/1/Mains/I1”’\](https://10.0.0.1/redfish/v1/PowerEquipment/RackPDUs/1/Mains/I1%E2%80%9D%E2%80%99%5C)]  
interval = “10s”  
data\_format = “json\_v2”  
json\_query = ‘.’  
key\_tags = [“PolyPhaseCurrentAmps”]  
name\_override = “redfish\_pdu\_metrics”

Am I even on the right track here?

---

<div class="post-metadata">

**Author:** ![npm\_engineer](https://avatars.discourse-cdn.com/v4/letter/n/5f8ce5/32.png) [@npm\_engineer](https://community.influxdata.com/u/npm_engineer)\
**Post date:** [August 8, 2025, 6:24pm UTC](https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776/3 "2025-08-08T18:24:14Z")

</div>

I have never dealt with redfish before, but based on the command you have if that doesn’t work it would be pretty easy to put that inside of a python script and just have inputs.exec run that python script. It might give you a little bit better parsing options (depending what you need the output to look like).

---

<div class="post-metadata">

**Author:** ![oldguardmd1](https://sea1.discourse-cdn.com/flex023/user_avatar/community.influxdata.com/oldguardmd1/32/15152_2.png) [@oldguardmd1](https://community.influxdata.com/u/oldguardmd1)\
**Post date:** [August 9, 2025, 11:18am UTC](https://community.influxdata.com/t/telegraf-monitoring-of-pdu-with-redfish/57776/4 "2025-08-09T11:18:41Z")

</div>

Well, I guess this is not a thing (thank you AI for the delay 😆 )

data\_format = “json\_v2“

Looks like it must be:

data\_format = “json“

Now I get everything that is in the returned JSON, or if I can use metric filtering with exec to cherry pick what I want.
