Count of Received IPv4 Unicast Prefixes
Sampling the number of received unicast prefixes is an example for an index based metric. The IPv4 unicast prefixes are stored in the instance.default.ribd.1.fib-local.ipv4.labeled-unicast table, which exists per routing instance with instance being the instance name. The prefix count can be read by sampling the active-entry-count attribute of the primary index. The listing below shows the JSON object to sample the active PPPoE sessions:
{
"rtbrick-config:metric": {
"name": "default_ipv4_unicast_prefix_count",
"table-name": "default.ribd.1.fib-local.ipv4.unicast",
"bds-type": "index-metric",
"index-name": "primary",
"prometheus-type": "gauge",
"description": "IPv4 unicast prefixes default instance",
"attribute": [
{
"attribute-name": "active-entry-count"
}
]
}
}
json
The prefix count can increase and decrease. Therefore the metric type must be gauge rather than counter. |
Run show datastore ribd schema table table-name default.ribd.1.fib-local.ipv4.unicast
to inspect the definition of the default.ribd.1.fib-local.ipv4.unicast
table.
$ show datastore fibd schema table-name default.ribd.1.fib-local.ipv4.labeled-unicast
{
"table": {
"type": "rib_fiblocal_v4_table",
"object": "rib_entry",
"table_objects": {
"shared_object": "generic_table_attributes",
"app_objects": [
"generic_table_attributes"
]
},
"index": [
{
"name": "primary",
"type": "radix",
"immutable": true,
"key": [
"prefix4"
]
},
...
The primary index uses the IPv4 prefix (prefix4) as key and contains an object per prefix. Counting the objects therefore represents the stored prefixes.