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