NetQ 操作

在带内或带外部署中,NetQ 提供全网络配置和设备管理、主动监控功能以及网络性能诊断。

NetQ 代理

从软件角度来看,网络交换机具有与硬件平台、操作系统和通信相关的软件。对于数据中心,网络交换机上的软件类似于下图

diagram illustrating how the NetQ Agent interacts with a switch or host.

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 checknetq show。它们从网络服务组件和事件服务中提取信息。网络服务组件持续验证网络上运行的设备和协议的连接和配置。使用 netq checknetq show 命令显示网络范围和完整软件堆栈基础上各种组件和服务的状态。有关 netq checknetq show 命令的详尽列表,请参阅命令行参考。

监控通信路径

跟踪引擎验证两个网络设备之间可用的通信路径。相应的 netq trace 命令使您可以查看两个设备之间的所有路径,以及路径中是否存在任何中断。有关跟踪请求的更多信息,请参阅验证网络连接

查看历史状态和配置信息

您可以为当前和过去的状态运行所有 check、show 和 trace 命令。要调查过去的问题,请使用 netq check 命令并查找 NetQ 标记事件消息时间附近的配置或操作问题。然后使用 netq show 命令查看有关设备配置的信息。您还可以使用 netq trace 命令查看特定时间任何问题节点之间的连接情况。

例如,下图显示了 spine01、leaf04 和 server03 上的问题

network diagram displaying issues on spine01, leaf04, and 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 会话已关闭

example Slack message from netq notifier indicating session failures

有关更多信息,请参阅事件和通知

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.ymlNetQ 配置文件。仅当您在系统上安装了 netq-apps 软件包或 NetQ 代理时,此文件才会出现。
/var/log/netqd.logNetQ 守护程序日志文件,用于 NetQ CLI。仅当您在系统上安装了 netq-apps 软件包时,此日志文件才会出现。
/var/log/netq-agent.logNetQ 代理日志文件。仅当您在系统上安装了 NetQ 代理时,此日志文件才会出现。