GNMI Data Missing

When subscribing to gnmi data on a Cisco NCS540, I get good data back from gnmic, but I get no data in influxdb from telegraf using the same method.

My subscription for gnmi looks like this:

  [[inputs.gnmi.subscription]]
    name = "StatsQosIn"
    origin = "Cisco-IOS-XR-qos-ma-oper"
    path = "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats"
    subscription_mode = "sample"
    sample_interval = "10s"

I can get it to ingest into grafana using this:

  [[inputs.gnmi.subscription]]
    name = "StatsQosIn"
    origin = "Cisco-IOS-XR-qos-ma-oper"
    path = "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics"
    subscription_mode = "sample"
    sample_interval = "10s"

When I query the intended data at a higher level it populates what I need, but also gives way more data than I need and it makes it much harder to display in grafana.

The gnmic command seems to have no problem querying the data at the level required producing the following output

[
  {
    "source": "10.82.6.84",
    "timestamp": 1733152453707271490,
    "time": "2024-12-02T10:14:13.70727149-05:00",
    "updates": [
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/14]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/14]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/14]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/17]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/17]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/17]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 9833145,
            "pre-policy-matched-bytes": "6610480868259",
            "pre-policy-matched-packets": "4479660320",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 9833145,
            "transmit-bytes": "6610480868259",
            "transmit-packets": "4479660320"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/16]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/16]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/16]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 9840698,
            "pre-policy-matched-bytes": "6648379816724",
            "pre-policy-matched-packets": "4458172128",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 9840698,
            "transmit-bytes": "6648379816724",
            "transmit-packets": "4458172128"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/15]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/15]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      },
      {
        "Path": "Cisco-IOS-XR-qos-ma-oper:qos/interface-table/interface[interface-name=TenGigE0/0/0/15]/input/service-policy-names/service-policy-instance[service-policy-name=TEST_POLICIES]/statistics/class-stats/general-stats",
        "values": {
          "qos/interface-table/interface/input/service-policy-names/service-policy-instance/statistics/class-stats/general-stats": {
            "match-data-rate": 0,
            "pre-policy-matched-bytes": "0",
            "pre-policy-matched-packets": "0",
            "total-drop-bytes": "0",
            "total-drop-packets": "0",
            "total-drop-rate": 0,
            "total-transmit-rate": 0,
            "transmit-bytes": "0",
            "transmit-packets": "0"
          }
        }
      }
    ]
  }
]

I am expecting this data from the yang model:

module: Cisco-IOS-XR-qos-ma-oper
  +--ro qos
     +--ro interface-table
        +--ro interface* [interface-name]
           +--ro input
              +--ro service-policy-names
                 +--ro service-policy-instance* [service-policy-name]
                    +--ro statistics
                       +--ro class-stats* []
                          +--ro general-stats
                             +--ro transmit-packets?             uint64
                             +--ro transmit-bytes?               uint64
                             +--ro total-drop-packets?           uint64
                             +--ro total-drop-bytes?             uint64
                             +--ro total-drop-rate?              uint32
                             +--ro match-data-rate?              uint32
                             +--ro total-transmit-rate?          uint32
                             +--ro pre-policy-matched-packets?   uint64
                             +--ro pre-policy-matched-bytes?     uint64

Any ideas on how I can get telegraf to ingest this data at the more granular level?

Telegraf Version: 1.28.5

Found the answer, and the problem was not in what was in what I submitted…

Under

[[inputs.gnmi]]

I had

encoding = "json_ietf"

Needs to be

encoding = "proto"

Seems like for “proto” to work, I needed to be on 1.32.3 as well, but less sure of the role that played in this.