<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ACI Exporter: APIC returns no data for interface traffic/drop stats in Code Exchange</title>
    <link>https://community.cisco.com/t5/code-exchange/aci-exporter-apic-returns-no-data-for-interface-traffic-drop/m-p/5557531#M212</link>
    <description>&lt;P&gt;Hello Cisco DevNet Community,&lt;/P&gt;&lt;P&gt;We are currently deploying the `opsdis/aci-exporter` to collect Cisco ACI metrics through APIC and expose them to Prometheus/Grafana.&lt;/P&gt;&lt;P&gt;The general exporter setup is working. We can successfully collect and visualize several ACI metrics, for example:&lt;/P&gt;&lt;P&gt;- fabric node inventory via `fabricNode`&lt;BR /&gt;- node health via `topSystem` with `rsp-subtree-include=health`&lt;BR /&gt;- fabric health via `fabricHealthTotal`&lt;BR /&gt;- tenant/application/EPG/VRF/BD health&lt;BR /&gt;- interface operational state and speed via `ethpmPhysIf`&lt;BR /&gt;- BGP peer metrics via `bgpPeer` / `bgpPeerAfEntry`&lt;BR /&gt;- OSPF neighbor metrics via `ospfAdjEp`&lt;BR /&gt;- node CPU and memory via `procSysCPU5min` and `procSysMem5min`&lt;/P&gt;&lt;P&gt;We are now trying to extend the Grafana node/interface dashboard with interface traffic, packet drop, and error metrics.&lt;/P&gt;&lt;P&gt;The exporter configuration already contains query definitions for the following ACI classes:&lt;/P&gt;&lt;P&gt;```yaml&lt;BR /&gt;interface_rx_stats:&lt;BR /&gt;class_name: eqptIngrBytes5min&lt;/P&gt;&lt;P&gt;interface_tx_stats:&lt;BR /&gt;class_name: eqptEgrBytes5min&lt;/P&gt;&lt;P&gt;interface_rx_err_stats:&lt;BR /&gt;class_name: eqptIngrDropPkts5min&lt;/P&gt;&lt;P&gt;interface_tx_err_stats:&lt;BR /&gt;class_name: eqptEgrDropPkts5min&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;However, the exporter only emits the following interface metrics:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;aci_interface_oper_speed_bps&lt;BR /&gt;aci_interface_oper_state&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;It does not emit metrics such as:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;aci_interface_rx_unicast_bytes&lt;BR /&gt;aci_interface_tx_unicast_bytes&lt;BR /&gt;aci_interface_rx_error_dropped_pkts&lt;BR /&gt;aci_interface_tx_error_dropped_pkts&lt;BR /&gt;aci_interface_rx_buffer_dropped_pkts&lt;BR /&gt;aci_interface_tx_queue_dropped_pkts&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;We checked the exporter logs and confirmed that the exporter does call the statistic classes successfully. The APIC API calls return HTTP 200, but the response size is very small:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;class="eqptIngrBytes5min" status=200 length=28&lt;BR /&gt;class="eqptEgrBytes5min" status=200 length=28&lt;BR /&gt;class="eqptIngrDropPkts5min" status=200 length=28&lt;BR /&gt;class="eqptEgrDropPkts5min" status=200 length=28&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;So the exporter appears to be working correctly, but APIC does not return any objects for these statistic classes.&lt;/P&gt;&lt;P&gt;Our goal is to understand how interface traffic, packet drops, and interface errors should be collected from APIC for use with `aci-exporter`, Prometheus, and Grafana.&lt;/P&gt;&lt;P&gt;Questions:&lt;/P&gt;&lt;P&gt;1. Are `eqptIngrBytes5min`, `eqptEgrBytes5min`, `eqptIngrDropPkts5min`, and `eqptEgrDropPkts5min` still the correct APIC classes for interface traffic and drop/error statistics?&lt;/P&gt;&lt;P&gt;2. Are these classes dependent on a specific ACI statistics collection setting, retention policy, statistics family, or monitoring policy?&lt;/P&gt;&lt;P&gt;3. Is there a different or newer APIC class that should be used for physical interface traffic counters, packet drops, and interface errors?&lt;/P&gt;&lt;P&gt;4. Could this behavior be caused by permissions of the APIC API user, even though the API calls return HTTP 200 and not a permission error?&lt;/P&gt;&lt;P&gt;5. Has anyone successfully exposed interface traffic/drop/error counters through `opsdis/aci-exporter`, and if yes, which class queries are used?&lt;/P&gt;&lt;P&gt;For context, interface state and speed work correctly through `ethpmPhysIf`, so the exporter, APIC connectivity, authentication, and basic class queries are functional.&lt;/P&gt;&lt;P&gt;Any guidance on the correct APIC classes or required ACI configuration for these interface statistics would be appreciated.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
    <pubDate>Tue, 09 Jun 2026 09:15:23 GMT</pubDate>
    <dc:creator>alex.dersch</dc:creator>
    <dc:date>2026-06-09T09:15:23Z</dc:date>
    <item>
      <title>ACI Exporter: APIC returns no data for interface traffic/drop stats</title>
      <link>https://community.cisco.com/t5/code-exchange/aci-exporter-apic-returns-no-data-for-interface-traffic-drop/m-p/5557531#M212</link>
      <description>&lt;P&gt;Hello Cisco DevNet Community,&lt;/P&gt;&lt;P&gt;We are currently deploying the `opsdis/aci-exporter` to collect Cisco ACI metrics through APIC and expose them to Prometheus/Grafana.&lt;/P&gt;&lt;P&gt;The general exporter setup is working. We can successfully collect and visualize several ACI metrics, for example:&lt;/P&gt;&lt;P&gt;- fabric node inventory via `fabricNode`&lt;BR /&gt;- node health via `topSystem` with `rsp-subtree-include=health`&lt;BR /&gt;- fabric health via `fabricHealthTotal`&lt;BR /&gt;- tenant/application/EPG/VRF/BD health&lt;BR /&gt;- interface operational state and speed via `ethpmPhysIf`&lt;BR /&gt;- BGP peer metrics via `bgpPeer` / `bgpPeerAfEntry`&lt;BR /&gt;- OSPF neighbor metrics via `ospfAdjEp`&lt;BR /&gt;- node CPU and memory via `procSysCPU5min` and `procSysMem5min`&lt;/P&gt;&lt;P&gt;We are now trying to extend the Grafana node/interface dashboard with interface traffic, packet drop, and error metrics.&lt;/P&gt;&lt;P&gt;The exporter configuration already contains query definitions for the following ACI classes:&lt;/P&gt;&lt;P&gt;```yaml&lt;BR /&gt;interface_rx_stats:&lt;BR /&gt;class_name: eqptIngrBytes5min&lt;/P&gt;&lt;P&gt;interface_tx_stats:&lt;BR /&gt;class_name: eqptEgrBytes5min&lt;/P&gt;&lt;P&gt;interface_rx_err_stats:&lt;BR /&gt;class_name: eqptIngrDropPkts5min&lt;/P&gt;&lt;P&gt;interface_tx_err_stats:&lt;BR /&gt;class_name: eqptEgrDropPkts5min&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;However, the exporter only emits the following interface metrics:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;aci_interface_oper_speed_bps&lt;BR /&gt;aci_interface_oper_state&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;It does not emit metrics such as:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;aci_interface_rx_unicast_bytes&lt;BR /&gt;aci_interface_tx_unicast_bytes&lt;BR /&gt;aci_interface_rx_error_dropped_pkts&lt;BR /&gt;aci_interface_tx_error_dropped_pkts&lt;BR /&gt;aci_interface_rx_buffer_dropped_pkts&lt;BR /&gt;aci_interface_tx_queue_dropped_pkts&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;We checked the exporter logs and confirmed that the exporter does call the statistic classes successfully. The APIC API calls return HTTP 200, but the response size is very small:&lt;/P&gt;&lt;P&gt;```text&lt;BR /&gt;class="eqptIngrBytes5min" status=200 length=28&lt;BR /&gt;class="eqptEgrBytes5min" status=200 length=28&lt;BR /&gt;class="eqptIngrDropPkts5min" status=200 length=28&lt;BR /&gt;class="eqptEgrDropPkts5min" status=200 length=28&lt;BR /&gt;```&lt;/P&gt;&lt;P&gt;So the exporter appears to be working correctly, but APIC does not return any objects for these statistic classes.&lt;/P&gt;&lt;P&gt;Our goal is to understand how interface traffic, packet drops, and interface errors should be collected from APIC for use with `aci-exporter`, Prometheus, and Grafana.&lt;/P&gt;&lt;P&gt;Questions:&lt;/P&gt;&lt;P&gt;1. Are `eqptIngrBytes5min`, `eqptEgrBytes5min`, `eqptIngrDropPkts5min`, and `eqptEgrDropPkts5min` still the correct APIC classes for interface traffic and drop/error statistics?&lt;/P&gt;&lt;P&gt;2. Are these classes dependent on a specific ACI statistics collection setting, retention policy, statistics family, or monitoring policy?&lt;/P&gt;&lt;P&gt;3. Is there a different or newer APIC class that should be used for physical interface traffic counters, packet drops, and interface errors?&lt;/P&gt;&lt;P&gt;4. Could this behavior be caused by permissions of the APIC API user, even though the API calls return HTTP 200 and not a permission error?&lt;/P&gt;&lt;P&gt;5. Has anyone successfully exposed interface traffic/drop/error counters through `opsdis/aci-exporter`, and if yes, which class queries are used?&lt;/P&gt;&lt;P&gt;For context, interface state and speed work correctly through `ethpmPhysIf`, so the exporter, APIC connectivity, authentication, and basic class queries are functional.&lt;/P&gt;&lt;P&gt;Any guidance on the correct APIC classes or required ACI configuration for these interface statistics would be appreciated.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 09 Jun 2026 09:15:23 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/aci-exporter-apic-returns-no-data-for-interface-traffic-drop/m-p/5557531#M212</guid>
      <dc:creator>alex.dersch</dc:creator>
      <dc:date>2026-06-09T09:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: ACI Exporter: APIC returns no data for interface traffic/drop stat</title>
      <link>https://community.cisco.com/t5/code-exchange/aci-exporter-apic-returns-no-data-for-interface-traffic-drop/m-p/5558690#M213</link>
      <description>&lt;P&gt;Hi Alex,&lt;/P&gt;&lt;P&gt;Length 28 is just an empty imdata, so APIC really has no objects for those classes. The exporter and the class names are both fine. eqptIngrBytes5min/eqptEgrBytes5min for traffic and eqptIngrDropPkts5min/eqptEgrDropPkts5min for drops are still correct, and the error/buffer/queue breakdowns you want are attributes inside the drop classes (forwarding, buffer, error, lb counters), not separate classes, so there's nothing newer to switch to.&lt;/P&gt;&lt;P&gt;Two things give you an empty 200 like this, and there's a clean way to tell which. Run moquery -c eqptIngrBytes5min on the APIC as admin. If admin also gets nothing, it's stats collection. If admin sees data but your exporter user doesn't, it's RBAC on that user.&lt;/P&gt;&lt;P&gt;If it's collection, check your Monitoring Policy under Fabric &amp;gt; Fabric Policies &amp;gt; Monitoring for the Layer1 physical interface stats. The Egress, Ingress and Ingress Error Packets families need admin state enabled and a history retention that isn't none. If they're sitting on a policy with collection off or retention zeroed, those eqpt objects never get created, which is exactly your empty result.&lt;/P&gt;&lt;P&gt;If it's RBAC, a class query returns 200 but quietly drops objects the user's security domain can't see, so you get an empty imdata instead of a 403. ethpmPhysIf working doesn't rule this out, since different classes can be tagged to different domains. Give the exporter user read access to the right security domain (or all) and retest.&lt;/P&gt;&lt;P&gt;I'd lean towards the monitoring policy, since state and speed come from ethpmPhysIf which isn't a stats class, but the moquery-as-admin check settles it in one go.&lt;/P&gt;</description>
      <pubDate>Mon, 15 Jun 2026 19:44:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/code-exchange/aci-exporter-apic-returns-no-data-for-interface-traffic-drop/m-p/5558690#M213</guid>
      <dc:creator>olasupoo</dc:creator>
      <dc:date>2026-06-15T19:44:16Z</dc:date>
    </item>
  </channel>
</rss>

