Group by
The event-group-by
processor groups values under the same event message based on a list of tag names.
This processor is intended to be used together with an output with cached gNMI notifications, like prometheus
output with cache: {}
.
Configuration#
processors:
# processor name
sample-processor:
# processor type
event-group-by:
# list of strings defining the tags to group by the values under
# a single event
tags: []
# a boolean, if true only the values from events of the same name
# are grouped together according to the list of tags
by-name:
# boolean
debug: false
Examples#
group by a single tag#
processors:
group-by-source:
event-group-by:
tags:
- source
[
{
"name": "sub2",
"timestamp": 1615284691523204299,
"tags": {
"neighbor_peer-address": "2002::1:1:1:1",
"network-instance_name": "default",
"source": "leaf1:57400",
"subscription-name": "sub2"
},
"values": {
"bgp_neighbor_sent_messages_queue_depth": 0,
"bgp_neighbor_sent_messages_total_messages": "423",
"bgp_neighbor_sent_messages_total_non_updates": "415",
"bgp_neighbor_sent_messages_total_updates": "8"
}
},
{
"name": "sub2",
"timestamp": 1615284691523204299,
"tags": {
"neighbor_peer-address": "2002::1:1:1:1",
"network-instance_name": "default",
"source": "leaf1:57400",
"subscription-name": "sub2"
},
"values": {
"bgp_neighbor_received_messages_malformed_updates": "0",
"bgp_neighbor_received_messages_queue_depth": 0,
"bgp_neighbor_received_messages_total_messages": "424",
"bgp_neighbor_received_messages_total_non_updates": "418",
"bgp_neighbor_received_messages_total_updates": "6"
}
}
]
[
{
"name": "sub2",
"timestamp": 1615284691523204299,
"tags": {
"neighbor_peer-address": "2002::1:1:1:1",
"network-instance_name": "default",
"source": "leaf1:57400",
"subscription-name": "sub2"
},
"values": {
"bgp_neighbor_sent_messages_queue_depth": 0,
"bgp_neighbor_sent_messages_total_messages": "423",
"bgp_neighbor_sent_messages_total_non_updates": "415",
"bgp_neighbor_sent_messages_total_updates": "8",
"bgp_neighbor_received_messages_malformed_updates": "0",
"bgp_neighbor_received_messages_queue_depth": 0,
"bgp_neighbor_received_messages_total_messages": "424",
"bgp_neighbor_received_messages_total_non_updates": "418",
"bgp_neighbor_received_messages_total_updates": "6"
}
}
]
group by multiple tags#
processors:
group-by-queue-id:
event-group-by:
tags:
- source
- interface_name
- multicast-queue_queue-id
[
{
"name": "sub1",
"timestamp": 1627997491187771616,
"tags": {
"interface_name": "ethernet-1/1",
"multicast-queue_queue-id": "5",
"source": "clab-ndk-srl1:57400",
"subscription-name": "sub1",
},
"values": {
"/interface/qos/output/multicast-queue/queue-depth/maximum-burst-size": "0"
}
},
{
"name": "sub1",
"timestamp": 1627997491187771616,
"tags": {
"interface_name": "ethernet-1/1",
"multicast-queue_queue-id": "5",
"source": "clab-ndk-srl1:57400",
"subscription-name": "sub1",
},
"values": {
"/interface/qos/output/multicast-queue/scheduling/peak-rate-bps": "0"
}
}
]
[
{
"name": "sub1",
"timestamp": 1627997491187771616,
"tags": {
"interface_name": "ethernet-1/1",
"multicast-queue_queue-id": "5",
"source": "clab-ndk-srl1:57400",
"subscription-name": "sub1",
},
"values": {
"/interface/qos/output/multicast-queue/queue-depth/maximum-burst-size": "0",
"/interface/qos/output/multicast-queue/scheduling/peak-rate-bps": "0"
}
}
]