Cisco IOS-XE Telemetry to Telegraf - Missing QoS/Diffserv Class Data

Fairly new to Telegraf aside from having done a few basic things in Telegraf with SNMPv3 and PING modules. We recently started to test out switching over to Telemetry from SNMPv3 to simplify our metric collection and also improve the accuracy. For what it’s worth, I’m currently running v1.26.2 on CentOS v7.6.1810 (eventually looking to replace this with Ubuntu 22.04).

All is working well for things like BGP, Interface statistics (rx_bps, tx_bps, rx_pps, tx_pps, errors/discards, etc), CPU, Memory, etc. I’ve recently been trying to also pull out QoS metrics using the diffserv fields but Telegraf only seems to have a record of the bytes/drops at the parent/default class rather than a breakdown of each individual class.

The issue seems similar to these ones Cisco_telemetry_mdt input plugin incorrect parsing of data sent by sensor "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics" · Issue #6322 · influxdata/telegraf · GitHub and Solution to #6322 · Issue #11138 · influxdata/telegraf · GitHub but I can’t be entirely sure. I had a case opened with Cisco TAC and they were able to re-produce the issue but confirmed they don’t see a problem with their proprietary Cisco Telemetry Broker (which uses Telegraf).

Not too sure where I should go from here but I’d obviously rather stick with the open source version of Telegraf if possible rather than move over to Cisco’s proprietary solution.

Unfortunately nor am I without more details on what you are seeing and what you have tried.

It does sound like others have had sucess with this. Are you willing to share your config, how you set up the embedded_tags option, and what you are currently getting?

Thanks, I ended up solving this issue and you were on the right track. It required an embedded_tag as you suggested!

1 Like