交换机

借助 NetQ UI 和 NetQ CLI,您可以监控各个交换机的运行状况,包括接口性能和资源利用率。

NetQ 报告以下类别的交换机性能指标

  • 系统配置:事件、接口、IP 和 MAC 地址、VLAN、IP 路由和 IP 邻居
  • 利用率统计信息:CPU、内存、磁盘、ACL 和转发资源、SSD、BTRFS 和进程
  • 物理传感:数字光器件和交换机传感器
  • RoCE精确时间协议

查看交换机指标和属性

访问单个交换机的监控信息的最快方法是在全局搜索字段中搜索其主机名。搜索主机名并选择交换机以打开属性和性能信息的全屏概述。

或者,您可以将设备卡添加到您的工作台

  1. 从标题中选择 添加卡 > 设备卡

  2. 从列表中选择一个交换机

dropdown displaying switches
  1. 点击 添加

  2. 调整卡片的大小以查看不同粒度级别的信息。

属性显示为大型交换机卡上的默认选项卡。您可以查看有关交换机的静态信息,包括其主机名、地址、服务器和 ASIC 供应商及型号、操作系统和 NetQ 软件信息。您还可以查看交换机上接口和 NetQ 代理的状态。

large switch card displaying attributes

将鼠标悬停在卡片顶部,然后选择相应的图标以查看利用率信息、接口统计信息、数字光器件信息、RoCE 指标和 PTP 时钟图。此示例显示利用率信息,包括过去 24 小时的 CPU、内存和磁盘利用率

large switch card displaying attributes

将卡片展开为全屏以查看、过滤或导出有关给定交换机的事件、接口、MAC 地址、VLAN、IP 路由、IP 邻居、IP 地址、BTRFS 利用率、SSD 利用率、转发资源、ACL 资源、“刚刚发生”事件、传感器、RoCE 计数器、数字光器件、BGP 和 EVPN 会话、PTP 和进程监控的信息

UI 中可用的信息也可以通过 CLI 使用相应的 netq show 命令显示。每个以 netq show 开头的命令都包含 <hostname> 选项。当命令中包含 <hostname> 选项时,输出结果将仅限于您指定的交换机或主机。

例如,您可以使用 netq show events 命令查看网络中的所有事件。要查看特定交换机上的所有事件,请在 netq <hostname> show events 中的 <hostname> 字段中指定其名称。以下示例显示 leaf01 交换机上的所有事件

cumulus@switch:~$ netq leaf01 show events

Matching events records:
Hostname          Message Type             Severity         State      Message                             Timestamp
----------------- ------------------------ ---------------- ---------- ----------------------------------- -------------------------
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:18:40 2024
                                                                       for ifname: eth0 value: 228
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:18:11 2024
                                                                       for ifname: swp50 value: 898
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:13:36 2024
                                                                       for ifname: eth0 value: 253
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:13:05 2024
                                                                       for ifname: swp50 value: 885
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:08:21 2024
                                                                       for ifname: eth0 value: 240
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:07:50 2024
                                                                       for ifname: swp50 value: 919
leaf01            tca_procdevstats         info             open       RX bytes exceeded threshold,        Tue Dec  3 16:03:08 2024
                                                                       for ifname: eth0 value: 250

有关 netq show 命令 的完整列表,请参阅命令行参考。

查看进程和服务的 CPU 和内存利用率

使用 UI 或 CLI 可视化哪些服务和进程正在消耗交换机上最多的 CPU 和内存。NetQ 仅显示活动进程,但 netqd 除外,无论其活动状态如何,都会显示 netqd。您可以使用 CLI 添加或删除 NetQ 监控的特定服务。

进程监控仅在 Spectrum 交换机上受支持。

要可视化进程级别的 CPU 和内存利用率,请打开一个大型设备卡并导航到 利用率 选项卡。然后选择 显示进程监控数据。UI 描绘了两个图表 - 每个图表分别用于 CPU 和内存利用率 - 以及服务和进程列表。

进程名称 列中选择一个进程,使其使用情况数据反映在 CPU 和内存利用率图表中。显示的数据是按 5 分钟周期汇总的;NetQ 列出了消耗最多 CPU 资源的进程(按 5 分钟周期或 CPU 5 分钟 列汇总),从高到低排列。图表中反映其数据的进程用图标 在进程名称旁边指示。

以下图表描绘了来自系统监控守护程序 smond 的 6 小时时间段内的 CPU 和内存使用情况。

CPU and memory utilization info for the smond service

UI 中显示的信息可以使用 CLI 和 netq show services resource-util 命令查看

cumulus@switch:~$ netq show services resource-util

Matching services records:
Hostname          Service              PID   VRF                  Enabled Active Uptime               CPU one Minute       CPU five Minute      Memory one Minute    Memory five Minute   Last Updated
----------------- -------------------- ----- -------------------- ------- ------ -------------------- -------------------- -------------------- -------------------- -------------------- ------------------------
r-3700-02         sx_sdk               19012 default              yes     yes    81 day 17h ago       7.7                  24.65                9.44                 9.44                 Tue Jul 18 18:49:19 2023
r-3700-03         sx_sdk               13627 default              yes     yes    81 day 18h ago       0                    17.82                9.44                 9.44                 Tue Jul 18 18:49:19 2023
r-3700-02         switchd              21100 default              yes     yes    81 day 17h ago       56.77                15.07                1.13                 1.13                 Tue Jul 18 18:49:19 2023
r-3700-03         switchd              15768 default              yes     yes    81 day 18h ago       0                    8.28                 1.11                 1.11                 Tue Jul 18 18:49:19 2023
neo-switch02      sx_sdk               1841  default              yes     yes    2h 29min ago         30.1                 6.55                 9.67                 9.67                 Tue Jul 18 18:49:19 2023
ufm-switch19      sx_sdk               2343  default              yes     yes    21h 3min ago         5.22                 5.73                 2.84                 2.84                 Tue Jul 18 18:49:19 2023
ufm-switch29      sx_sdk               2135  default              yes     yes    8 day 4h ago         2.88                 5.73                 9.54                 9.54                 Tue Jul 18 18:49:19 2023
r-3420-01         sx_sdk               1885  default              yes     yes    9 day 3h ago         5.28                 5.01                 9.3                  9.3                  Tue Jul 18 18:49:19 2023
ufm-switch29      clagd                7095  default              no      yes    8 day 4h ago         23.57                4.71                 0.63                 0.63                 Tue Jul 18 18:49:19 2023
r-3700-01         smond                7301  default              yes     yes    9 day 3h ago         0                    4.7                  0.2                  0.2                  Tue Jul 18 18:49:19 2023
... 

要配置 NetQ 代理以开始监控其他服务,请运行 netq config add agent services,指定您希望代理在命令中监控的服务。重新启动代理,然后运行 netq config show agent services 以显示 NetQ 代理正在监控 CPU 和内存使用情况的服务列表。

要停止代理监控服务,请运行 netq config del agent services。某些服务和进程无法从监控中排除。

要主动监控进程级 CPU 和内存利用率,您可以创建 阈值交叉规则。当进程或服务超过您在创建规则时定义的利用率限制时,这些规则会生成事件。有关服务内存和服务 CPU 利用率事件 ID,请参阅 TCA 事件参考中的资源利用率表

以直方图形式查看队列长度

监控网络结构中的队列长度对于检测可能导致更高数据包延迟或缓冲区拥塞的微突发非常有用。Cumulus Linux 文档 详细描述了 ASIC 监控,包括示例 bin 配置以及有关解释直方图队列长度的信息。

  • Spectrum 交换机运行 Cumulus Linux 5.1 或更高版本支持队列长度监控。要显示队列直方图数据,您必须在配置 ASIC 监控时将快照文件计数设置为至少 120,如 ASIC 监控配置 文档中的快照部分所述。
  • 如果您重新启动 asic-monitor 服务或编辑 /monitor.conf 配置文件,则必须使用 netq config restart agent 重新启动 NetQ 代理。

UI 中可用的信息也可以通过 CLI 使用 netq show histogram 命令显示。

在 UI 中查看队列直方图

  1. 展开 菜单。在 Spectrum-X 部分中,选择 队列直方图

设备根据其 角色 分组:超级脊、叶、脊或出口。如果您尚未为设备分配角色,它们将显示为“未分配”。

dashboard displaying 6 devices with egress queue lengths as histograms

每个设备都由一张卡片表示,该卡片显示其主机名、队列长度最长的端口(水平显示,分为 bin)、标准偏差、所有端口的 P95 值(使用 ASIC 监控配置)和平均队列长度。当您使用屏幕顶部的控件更改时间参数时,数据会更新。bin 中反映的值会进行颜色编码,较高值以较深的颜色显示,较低值以较浅的颜色显示。将鼠标悬停在 bin 上以查看其对应的队列长度计数。

dashboard displaying 6 devices with egress queue lengths as histograms

选择 查看更多 以打开一个仪表板,该仪表板显示配置为发送直方图数据的全系列端口及其关联的设备,当您将光标悬停在某个部分上时,这些设备可见。从此视图中,您可以将设备相互比较,或将同一设备在不同时间段内进行比较。例如,以下视图显示了交换机 r-qa-sw-eth-2231,顶部面板显示过去一分钟的队列长度数据,底部面板显示过去 30 分钟的队列长度数据。

histogram comparison of the same device with different time parameters

y 轴表示 bin 0 到 9。与端口关联的主机名显示在 x 轴上。