Kafka
To access Kafka and validate Jalapeno topics and data:
-
Access container:
kubectl exec -it <kafka pod name> /bin/bash -n jalapeno
-
Change directory to
bin
and unsetJMX_PORT
cd bin unset JMX_PORT
-
List Jalapeno topics:
./kafka-topics.sh --zookeeper zookeeper.jalapeno.svc:2181 --list
-
Listen for a topic's messages:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic gobmp.parsed.ls_node ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic gobmp.parsed.ls_link ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic gobmp.parsed.l3vpn_v4
If the topic provides JSON output similar to the below sample, we know that GoBMP is successfully writing BMP messages to Kafka.
Note
There may not be active messages in Kafka's buffer at any given time.
BMP messages can be triggered by either clearing BGP link-state or shut/no-shut on the router's BMP server.
Sample output:
{
"action": "add",
"router_hash": "9e1a9a3663f25a297ed16a834b473eb0",
"domain_id": 0,
"router_ip": "10.0.0.10",
"peer_hash": "308bc76d9c523fce904af3300c97d77e",
"peer_ip": "10.0.0.12",
"peer_asn": 65000,
"timestamp": "Nov 3 20:28:02.000896",
"igp_router_id": "0000.0000.0003",
"router_id": "10.0.0.3",
"asn": 65000,
"mt_id": [
0,
2
],
"isis_area_id": "49.0901",
"protocol": "IS-IS Level 2",
"protocol_id": 2,
"node_flags": 0,
"name": "R03-LSR",
"ls_sr_capabilities": {
"sr_capability_flags": 128,
"sr_capability_tlv": [
{
"range": 64000,
"sid_tlv": {
"sid": "AYag"
}
}
]
},
"sr_algorithm": [
0,
1
],
"sr_local_block": {
"flags": 0,
"subranges": [
{
"range_size": 1000,
"label": 15000
}
]
},
"srv6_capabilities_tlv": {
"flag": 0
},
"node_msd": [
{
"msd_type": 1,
"msd_value": 10
}
],
"isprepolicy": false,
"is_adj_rib_in": false
}