Aggregator Telemetry - Type 5

The Type 5 Aggregator is similar to the Interface Stats Telemetry from the core plugin, but it adds bandwidth stats and timestamps.


Requirements

Aggregator Type 5 telemetry was introduced in the Aggregator Plugin in version 1.0.88. To begin streaming the telemetry:

Plugin Release
1.0.88

Flat vs. Nested Formats

The aggregator formats are available in two different formats. The flat format is well suited for importing into databases, creating CSVs, and managing other row-based solutions. The nested format is well suited for cache keys, internal data structures in memory, and other key-based solutions.

Flat

{
    "key1": "key value1",
    "key2": "key value2",
    "key3": "key value3",
    "data1": "aggregate data1",
    "data2": "aggregate data2",
    "data3": "aggregate data3"
}

Nested

{
    "key value1": {
        "key value2": {
            "key value3": {
                "data1": "aggregate data1",
                "data2": "aggregate data2",
                "data3": "aggregate data3"
            }
        }
    }
}

Configuration

Attributes

Please review the upload/download conventions documentation for context on local and other prefixes.

capture_dropped

integer
Packets dropped by the capture plane - agent couldn't service request fast enough. If you're using PCAP, need to add CPU's if possible. For TPACKETtv3, try increasing the ring buffer size.

capture_filtered

integer
Packets filtered out (removed) in the case where eBPF are in use.

discarded

integer
Packet counts being discarded prior to entering the DPI engine for analysis. An example is an unsupported protocol like NetBEUI

discarded_bytes

integer
Byte count associated with the discarded packets as described above.

ethernet

integer
Total number of supported Ethernet header counts seen.

flow_dropped

integer
Total number of new flows dropped because of a system configuration setting (unlimited by default). Setting max_flows in /etc/netifyd.conf to a non-zero value will limit the number of flows the agent tracks, thereby restricting CPU and memory in the event of traffic patterns that the hardware may not be able to support.

icmp

integer
Total number of ICMP packets.

ifname

string
Interface name.

igmp

integer
Total number of IGMP packets.

ip

integer
Total number of IPv4 or IPv6 packets.

ip_bytes

integer
Total number of IPv4 or IPv6 bytes.

largest_bytes

integer
Largest frame size, in bytes.

local_bytes

integer
Total transmitted (upload) bytes.

local_packets

integer
Total transmitted (upload) packets.

mpls

integer
Total number of MPLS packets.

other_bytes

integer
Total received (download) bytes.

other_packets

integer
Total received (download) packets.

pppoe

integer
Total number of PPPoE packets.

raw

integer
Total packet count on the interface.

tcp

integer
Total number of TCP packets.

tcp_resets

integer
Total number of TCP reset (RST) packets.

tcp_seq_errors

integer
Total number of TCP sequence errors.

udp

integer
Total number of UDP packets.

vlan

integer
Total number of VLAN tagged packets.

wire_bytes

integer
Total number bytes (upload and download) after discarded packets have applied.

Aggregator Type 5 Attributes - Example

{
  "log_time_end": 1745002518,
  "log_time_start": 1745002508,
  "stats": [
    {
      "capture_dropped": 0,
      "capture_filtered": 0,
      "discarded": 11,
      "discarded_bytes": 552,
      "ethernet": 83084,
      "flow_dropped": 0,
      "fragmented": 0,
      "icmp": 1,
      "ifname": "wlp1s0",
      "igmp": 0,
      "ip": 83073,
      "ip_bytes": 153700217,
      "largest_bytes": 26130,
      "local_bytes": 151480246,
      "local_packets": 53358,
      "mpls": 0,
      "other_bytes": 2227891,
      "other_packets": 29738,
      "pppoe": 0,
      "queue_dropped": 0,
      "raw": 83084,
      "tcp": 83044,
      "tcp_resets": 2,
      "tcp_seq_errors": 0,
      "udp": 28,
      "vlan": 0,
      "wire_bytes": 155693969
    }
  ]
}