NetQ 操作
在带内或带外部署中,NetQ 提供全网络配置和设备管理、主动监控功能以及网络性能诊断。
NetQ 代理
从软件角度来看,网络交换机具有与硬件平台、操作系统和通信相关的软件。对于数据中心,网络交换机上的软件类似于下图

NetQ 代理与交换机和主机上的各种组件和软件交互,并将收集的信息提供给 NetQ 平台。您可以使用 NetQ CLI 或 UI 查看数据。
NetQ 代理轮询用户空间应用程序,以获取有关交换机上运行的各种路由协议和服务性能的信息。Cumulus Linux 支持 BGP 和 OSPF 路由协议,以及通过 FRRouting (FRR) 的静态寻址。Cumulus Linux 还支持 LLDP 和 MSTP 等协议,以及各种服务,如 systemd 和传感器。
对于主机,NetQ 代理还轮询 Kubernetes 管理的容器的性能。此信息用于计算网络健康状况,并检查网络配置和运行是否正确。
NetQ 代理与 Linux 内核和用户空间之间的 Netlink 通信交互,监听网络状态、配置、路由和 MAC 地址的更改。NetQ 发送有关这些更改的通知,以便网络运营商和管理员可以在更改不是预期或有利的时快速响应。
NetQ 代理还与硬件平台交互,以获取有关各种物理组件(如风扇和电源)的性能信息。代理测量运行状态和温度,以及布线信息,以便进行主动维护。
NetQ 平台
收集的数据发送到 NetQ 数据库并存储后,您可以
- 验证当前网络或先前部署中的配置并识别错误配置。
- 监控整个网络的通信路径。
- 通知用户网络问题。
- 预测连接更改的影响。
验证配置
您可以在 UI 中或通过两组命令监控和验证网络的健康状况:netq check
和 netq show
。它们从网络服务组件和事件服务中提取信息。网络服务组件持续验证网络上运行的设备和协议的连接和配置。使用 netq check
和 netq show
命令显示网络范围和完整软件堆栈基础上各种组件和服务的状态。有关 netq check 和 netq show 命令的详尽列表,请参阅命令行参考。
监控通信路径
跟踪引擎验证两个网络设备之间可用的通信路径。相应的 netq trace
命令使您可以查看两个设备之间的所有路径,以及路径中是否存在任何中断。有关跟踪请求的更多信息,请参阅验证网络连接。
查看历史状态和配置信息
您可以为当前和过去的状态运行所有 check、show 和 trace 命令。要调查过去的问题,请使用 netq check
命令并查找 NetQ 标记事件消息时间附近的配置或操作问题。然后使用 netq show
命令查看有关设备配置的信息。您还可以使用 netq trace
命令查看特定时间任何问题节点之间的连接情况。
例如,下图显示了 spine01、leaf04 和 server03 上的问题

管理员可以从网络中的任何交换机运行以下命令,以确定 spine01 上 BGP 错误的原因
cumulus@switch:~$ netq check bgp around 30m
Total Nodes: 25, Failed Nodes: 3, Total Sessions: 220 , Failed Sessions: 24,
Hostname VRF Peer Name Peer Hostname Reason Last Changed
----------------- --------------- ----------------- ----------------- --------------------------------------------- -------------------------
exit-1 DataVrf1080 swp6.2 firewall-1 BGP session with peer firewall-1 swp6.2: AFI/ 1d:2h:6m:21s
SAFI evpn not activated on peer
exit-1 DataVrf1080 swp7.2 firewall-2 BGP session with peer firewall-2 (swp7.2 vrf 1d:1h:59m:43s
DataVrf1080) failed,
reason: Peer not configured
exit-1 DataVrf1081 swp6.3 firewall-1 BGP session with peer firewall-1 swp6.3: AFI/ 1d:2h:6m:21s
SAFI evpn not activated on peer
exit-1 DataVrf1081 swp7.3 firewall-2 BGP session with peer firewall-2 (swp7.3 vrf 1d:1h:59m:43s
DataVrf1081) failed,
reason: Peer not configured
exit-1 DataVrf1082 swp6.4 firewall-1 BGP session with peer firewall-1 swp6.4: AFI/ 1d:2h:6m:21s
SAFI evpn not activated on peer
exit-1 DataVrf1082 swp7.4 firewall-2 BGP session with peer firewall-2 (swp7.4 vrf 1d:1h:59m:43s
DataVrf1082) failed,
reason: Peer not configured
exit-1 default swp6 firewall-1 BGP session with peer firewall-1 swp6: AFI/SA 1d:2h:6m:21s
FI evpn not activated on peer
exit-1 default swp7 firewall-2 BGP session with peer firewall-2 (swp7 vrf de 1d:1h:59m:43s
...
cumulus@switch:~$ netq exit-1 show bgp
Matching bgp records:
Hostname Neighbor VRF ASN Peer ASN PfxRx Last Changed
----------------- ---------------------------- --------------- ---------- ---------- ------------ -------------------------
exit-1 swp3(spine-1) default 655537 655435 27/24/412 Fri Feb 15 17:20:00 2019
exit-1 swp3.2(spine-1) DataVrf1080 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp3.3(spine-1) DataVrf1081 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp3.4(spine-1) DataVrf1082 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp4(spine-2) default 655537 655435 27/24/412 Fri Feb 15 17:20:00 2019
exit-1 swp4.2(spine-2) DataVrf1080 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp4.3(spine-2) DataVrf1081 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp4.4(spine-2) DataVrf1082 655537 655435 13/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp5(spine-3) default 655537 655435 28/24/412 Fri Feb 15 17:20:00 2019
exit-1 swp5.2(spine-3) DataVrf1080 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp5.3(spine-3) DataVrf1081 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp5.4(spine-3) DataVrf1082 655537 655435 14/12/0 Fri Feb 15 17:20:00 2019
exit-1 swp6(firewall-1) default 655537 655539 73/69/- Fri Feb 15 17:22:10 2019
exit-1 swp6.2(firewall-1) DataVrf1080 655537 655539 73/69/- Fri Feb 15 17:22:10 2019
exit-1 swp6.3(firewall-1) DataVrf1081 655537 655539 73/69/- Fri Feb 15 17:22:10 2019
exit-1 swp6.4(firewall-1) DataVrf1082 655537 655539 73/69/- Fri Feb 15 17:22:10 2019
exit-1 swp7 default 655537 - NotEstd Fri Feb 15 17:28:48 2019
exit-1 swp7.2 DataVrf1080 655537 - NotEstd Fri Feb 15 17:28:48 2019
exit-1 swp7.3 DataVrf1081 655537 - NotEstd Fri Feb 15 17:28:48 2019
exit-1 swp7.4 DataVrf1082 655537 - NotEstd Fri Feb 15 17:28:48 2019
管理网络事件
NetQ 通知程序允许您捕获和过滤设备、组件、协议和服务的事件。当接口或路由协议关闭并且您希望尽快恢复运行时,这尤其有用。您可以通过创建专注于特定用户组的主题的过滤器来显着缩短解决时间。您可以为与 BGP 和 MLAG 会话状态、接口、链路、NTP 和其他服务、风扇、电源和物理传感器测量相关的事件创建过滤器。
以下是在 netq-notifier 频道上收到的 Slack 消息示例,指示交换机 leaf04 接口 swp2 上的 BGP 会话已关闭

有关更多信息,请参阅事件和通知。
NetQ 中的时间戳
NetQ 数据库中的每个事件或条目都存储有时间戳,该时间戳报告 NetQ 代理何时在交换机或服务器上捕获到事件。此时间戳基于运行 NetQ 代理的交换机或服务器时间,并以 UTC 格式推送。
接口状态、IP 地址、路由、ARP/ND 表(IP 邻居)条目和 MAC 表条目都带有时间戳,该时间戳表示事件发生的时间(例如,路由何时删除或接口何时启动)。
根据轮询捕获和保存的数据具有根据信息捕获的时间而不是事件实际发生的时间的时间戳,但如果提取的数据提供更多信息以计算更精确的事件时间,NetQ 会对此进行补偿。例如,BGP 正常运行时间可用于确定事件实际发生的时间以及时间戳。
在设备上重新启动 NetQ 代理不会更新现有对象的时间戳以反映此新的重新启动时间。NetQ 保留其相对于代理原始启动时间的时间戳。一个罕见的例外是,如果您在代理停止和重新启动之间重新启动设备;在这种情况下,时间仍然相对于代理的启动时间。
导出 NetQ 数据
您可以从 CLI 或 UI 中的 NetQ 平台导出数据
- 在 CLI 中,使用
json
选项将命令结果输出为 JSON 格式,以便在其他应用程序中进行解析 - 在 UI 中,将卡片展开到全屏表格视图,然后选择
导出。
重要文件位置
以下配置和日志文件可以帮助进行故障排除。有关更多信息,请参阅排除 NetQ 故障。
文件 | 描述 |
---|---|
/etc/netq/netq.yml | NetQ 配置文件。仅当您在系统上安装了 netq-apps 软件包或 NetQ 代理时,此文件才会出现。 |
/var/log/netqd.log | NetQ 守护程序日志文件,用于 NetQ CLI。仅当您在系统上安装了 netq-apps 软件包时,此日志文件才会出现。 |
/var/log/netq-agent.log | NetQ 代理日志文件。仅当您在系统上安装了 NetQ 代理时,此日志文件才会出现。 |