I had some time to play around with the new NetQ tool from Cumulus which checks your Cumulus Linux switch fabric.
I did some testing with my Cumulus Layer 2 Fabric example: Ansible Playbook for Cumulus Linux (Layer 2 Fabric)
You need to download the NetQ VM from Cumulus as VMware or VirtualBox template: here
It is a great tool to centrally check your Cumulus switches and keep history about changes in your environment. NetQ can send out notification about changes in your fabric which is nice because you are always up-to-date what is going on in your network.
Installing NetQ agent on a Cumulus Linux Switch:
cumulus@spine-1:~$ sudo apt-get update
cumulus@spine-1:~$ sudo apt-get install cumulus-netq -y
Configuring the NetQ Agent on a switch:
cumulus@spine-1:~$ sudo systemctl restart rsyslog
cumulus@spine-1:~$ netq add server 192.168.100.133
cumulus@spine-1:~$ netq agent restart
I will write a small Ansible script in the next days to automate the agent installation and configuration.
Connect to Cumulus NetQ VM and check agent connectivity
admin@cumulus:~$ netq-shell
Welcome to Cumulus (R) NetQ Command Line Interface
TIP: Type `netq help` to get started.
netq@dc9163c7044e:/$ netq show agents
Node Status Sys Uptime Agent Uptime
------- -------- ------------ --------------
leaf-1 Fresh 1h ago 1h ago
leaf-2 Fresh 1h ago 1h ago
spine-1 Fresh 1h ago 1h ago
spine-2 Fresh 1h ago 1h ago
netq@dc9163c7044e:/$
Basic Show Commands:
netq@dc9163c7044e:/$ netq show clag
Matching CLAG session records are:
Node Peer SysMac State Backup #Links #Dual Last Changed
---------------- ---------------- ----------------- ----- ------ ------ ----- --------------
leaf-1 leaf-2(P) 44:38:39:ff:40:93 up up 1 1 8m ago
leaf-2(P) leaf-1 44:38:39:ff:40:93 up up 1 1 8m ago
spine-1(P) spine-2 44:38:39:ff:40:94 up up 1 1 8m ago
spine-2 spine-1(P) 44:38:39:ff:40:94 up up 1 1 9m ago
netq@dc9163c7044e:/$
netq@dc9163c7044e:/$ netq show lldp
LLDP peer info for *:*
Node Interface LLDP Peer Peer Int Last Changed
------- ----------- ----------- ---------- --------------
leaf-1 eth0 cumulus eth0 1h ago
leaf-1 eth0 leaf-2 eth0 1h ago
leaf-1 eth0 spine-1 eth0 1h ago
leaf-1 eth0 spine-2 eth0 1h ago
leaf-1 swp1 spine-1 swp1 1h ago
leaf-1 swp11 leaf-2 swp11 9m ago
leaf-1 swp2 spine-2 swp1 1h ago
leaf-2 eth0 cumulus eth0 1h ago
leaf-2 eth0 leaf-1 eth0 1h ago
leaf-2 eth0 spine-1 eth0 1h ago
leaf-2 eth0 spine-2 eth0 1h ago
leaf-2 swp1 spine-2 swp2 1h ago
leaf-2 swp11 leaf-1 swp11 8m ago
leaf-2 swp2 spine-1 swp2 1h ago
spine-1 eth0 cumulus eth0 1h ago
spine-1 eth0 leaf-1 eth0 1h ago
spine-1 eth0 leaf-2 eth0 1h ago
spine-1 eth0 spine-2 eth0 1h ago
spine-1 swp1 leaf-1 swp1 1h ago
spine-1 swp11 spine-2 swp11 1h ago
spine-1 swp2 leaf-2 swp2 8m ago
spine-2 eth0 cumulus eth0 1h ago
spine-2 eth0 leaf-1 eth0 1h ago
spine-2 eth0 leaf-2 eth0 1h ago
spine-2 eth0 spine-1 eth0 1h ago
spine-2 swp1 leaf-1 swp2 1h ago
spine-2 swp11 spine-1 swp11 1h ago
spine-2 swp2 leaf-2 swp1 8m ago
netq@dc9163c7044e:/$
netq@dc9163c7044e:/$ netq show interfaces type bond
Matching interface records are:
Node Interface Type State Details Last Changed
---------------- ---------------- -------- ----- --------------------------- --------------
leaf-1 bond1 bond up Slave: swp1(spine-1:swp1), 10m ago
Slave: swp2(spine-2:swp1),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
leaf-1 peerlink bond up Slave: swp11(leaf-2:swp11), 10m ago
VLANs: , PVID: 0,
Master: peerlink, MTU: 1500
leaf-2 bond1 bond up Slave: swp1(spine-2:swp2), 10m ago
Slave: swp2(spine-1:swp2),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
leaf-2 peerlink bond up Slave: swp11(leaf-1:swp11), 10m ago
VLANs: , PVID: 0,
Master: peerlink, MTU: 1500
spine-1 bond1 bond up Slave: swp1(leaf-1:swp1), 10m ago
Slave: swp2(leaf-2:swp2),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
spine-1 peerlink bond up Slave: swp11(spine-2:swp11) 1h ago
, VLANs: 100-199,
PVID: 1, Master: bridge,
MTU: 1500
spine-2 bond1 bond up Slave: swp1(leaf-1:swp2), 10m ago
Slave: swp2(leaf-2:swp1),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
spine-2 peerlink bond up Slave: swp11(spine-1:swp11) 1h ago
, VLANs: 100-199,
PVID: 1, Master: bridge,
MTU: 1500
netq@dc9163c7044e:/$
netq@dc9163c7044e:/$ netq show ip routes
Matching IP route records are:
Origin Table IP Node Nexthops Last Changed
------ ---------------- ---------------- ---------------- -------------------------- ----------------
1 default 169.254.1.0/30 leaf-1 peerlink.4093 11m ago
1 default 169.254.1.0/30 leaf-2 peerlink.4093 11m ago
1 default 169.254.1.0/30 spine-1 peerlink.4094 1h ago
1 default 169.254.1.0/30 spine-2 peerlink.4094 1h ago
1 default 169.254.1.1/32 leaf-1 peerlink.4093 11m ago
1 default 169.254.1.1/32 spine-1 peerlink.4094 1h ago
1 default 169.254.1.2/32 leaf-2 peerlink.4093 11m ago
1 default 169.254.1.2/32 spine-2 peerlink.4094 1h ago
1 default 192.168.100.0/24 leaf-1 eth0 1h ago
1 default 192.168.100.0/24 leaf-2 eth0 1h ago
1 default 192.168.100.0/24 spine-1 eth0 1h ago
1 default 192.168.100.0/24 spine-2 eth0 1h ago
1 default 192.168.100.205/ spine-1 eth0 1h ago
32
1 default 192.168.100.206/ spine-2 eth0 1h ago
32
1 default 192.168.100.207/ leaf-1 eth0 1h ago
32
1 default 192.168.100.208/ leaf-2 eth0 1h ago
32
0 vrf-prod 0.0.0.0/0 spine-1 Blackhole 1h ago
0 vrf-prod 0.0.0.0/0 spine-2 Blackhole 1h ago
1 vrf-prod 10.1.0.0/24 spine-1 bridge.100 1h ago
1 vrf-prod 10.1.0.0/24 spine-2 bridge.100 1h ago
1 vrf-prod 10.1.0.252/32 spine-1 bridge.100 1h ago
1 vrf-prod 10.1.0.253/32 spine-2 bridge.100 1h ago
1 vrf-prod 10.1.0.254/32 spine-1 bridge.100 1h ago
1 vrf-prod 10.1.0.254/32 spine-2 bridge.100 1h ago
1 vrf-prod 10.1.1.0/24 spine-1 bridge.101 1h ago
1 vrf-prod 10.1.1.0/24 spine-2 bridge.101 1h ago
1 vrf-prod 10.1.1.252/32 spine-1 bridge.101 1h ago
1 vrf-prod 10.1.1.253/32 spine-2 bridge.101 1h ago
1 vrf-prod 10.1.1.254/32 spine-1 bridge.101 1h ago
1 vrf-prod 10.1.1.254/32 spine-2 bridge.101 1h ago
1 vrf-prod 10.1.2.0/24 spine-1 bridge.102 1h ago
1 vrf-prod 10.1.2.0/24 spine-2 bridge.102 1h ago
1 vrf-prod 10.1.2.252/32 spine-1 bridge.102 1h ago
1 vrf-prod 10.1.2.253/32 spine-2 bridge.102 1h ago
1 vrf-prod 10.1.2.254/32 spine-1 bridge.102 1h ago
1 vrf-prod 10.1.2.254/32 spine-2 bridge.102 1h ago
netq@dc9163c7044e:/$
See Changes in Switch Fabric:
netq@dc9163c7044e:/$ netq leaf-1 show interfaces type bond
Matching interface records are:
Node Interface Type State Details Last Changed
---------------- ---------------- -------- ----- --------------------------- --------------
leaf-1 bond1 bond up Slave: swp1(spine-1:swp1), 2s ago
Slave: swp2(spine-2:swp1),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
leaf-1 peerlink bond up Slave: swp11(leaf-2:swp11), 21m ago
VLANs: , PVID: 0,
Master: peerlink, MTU: 1500
netq@dc9163c7044e:/$
cumulus@leaf-1:~$ sudo ifdown bond1
cumulus@leaf-1:~$
netq@dc9163c7044e:/$ netq leaf-1 show interfaces type bond
Matching interface records are:
Node Interface Type State Details Last Changed
---------------- ---------------- -------- ----- --------------------------- --------------
leaf-1 peerlink bond up Slave: swp11(leaf-2:swp11), 22m ago
VLANs: , PVID: 0,
Master: peerlink, MTU: 1500
netq@dc9163c7044e:/$
netq@dc9163c7044e:/$ netq leaf-1 show interfaces type bond changes
Matching interface records are:
Node Interface Type State Details DbState Last Changed
---------------- ---------------- -------- ----- --------------------------- ------- --------------
leaf-1 bond1 bond down VLANs: , PVID: 0, Del 21s ago
Master: bridge, MTU: 1500
leaf-1 bond1 bond down Slave: swp1(), Add 21s ago
Slave: swp2(),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
leaf-1 bond1 bond up Slave: swp1(spine-1:swp1), Add 1m ago
Slave: swp2(spine-2:swp1),
VLANs: 100-199, PVID: 1,
Master: bridge, MTU: 1500
More information you can find in the Cumulus NetQ documentation: https://docs.cumulusnetworks.com/display/NETQ/NetQ