安装 NetQ 代理

安装 NetQ 软件后,您应该在要监控的每个交换机上安装 NetQ 代理。您可以在运行以下系统的交换机和服务器上安装 NetQ 代理

  • Cumulus Linux 5.0.0 或更高版本(Spectrum 交换机)
  • Ubuntu 22.04, 20.04

准备 NetQ 代理安装

对于运行 Cumulus Linux 的交换机,您需要

  • 安装和配置 NTP 或 PTP(如果需要)
  • 获取 NetQ 软件包

对于运行 Ubuntu 的服务器,您需要

  • 验证您安装了最低软件包版本
  • 验证服务器正在运行 lldpd
  • 安装和配置 NTP 或 PTP(如果需要)
  • 获取 NetQ 软件包

如果您的网络使用代理服务器进行外部连接,您应该首先配置全局代理,以便 apt-get 可以访问 NVIDIA 网络存储库中的软件包。

验证是否已安装并配置 NTP

验证 NTP 是否正在交换机上运行,如下面的步骤所述。交换机系统时钟必须与 NetQ 设备同步,才能进行有用的统计分析。或者,您可以配置 PTP 以进行时间同步。

cumulus@switch:~$ sudo systemctl status ntp
[sudo] password for cumulus:
● ntp.service - LSB: Start NTP daemon
        Loaded: loaded (/etc/init.d/ntp; bad; vendor preset: enabled)
        Active: active (running) since Fri 2018-06-01 13:49:11 EDT; 2 weeks 6 days ago
          Docs: man:systemd-sysv-generator(8)
        CGroup: /system.slice/ntp.service
                └─2873 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /var/lib/ntp/ntp.conf.dhcp -u 109:114

如果未安装 NTP,请在继续之前安装并配置它。

如果 NTP 未运行

  • 验证 /etc/ntp.conf 文件中 NTP 服务器的 IP 地址或主机名,然后
  • 使用 systemctl [enable|start] ntp 命令重新启用并启动 NTP 服务

如果您在带 VRF 的带外管理网络中运行 NTP,请在上述命令中指定 VRF (ntp@<vrf-name> 而不仅仅是 ntp)。

获取 NetQ 代理软件包

Cumulus Linux 4.4 及更高版本默认包含 netq-agent 软件包。要将 NetQ 代理升级到最新版本

  1. 通过取消注释或在 /etc/apt/sources.list 中添加以下行来添加存储库
cumulus@switch:~$ sudo nano /etc/apt/sources.list
...
deb https://apps3.cumulusnetworks.com/repos/deb CumulusLinux-4 netq-latest
...

您可以在存储库配置中指定 NetQ 代理版本。以下示例显示了检索 NetQ 代理 4.12 的存储库配置

deb https://apps3.cumulusnetworks.com/repos/deb CumulusLinux-4 netq-4.12

  1. apps3.cumulusnetworks.com 身份验证密钥添加到 Cumulus Linux
cumulus@switch:~$ wget -qO - https://apps3.cumulusnetworks.com/setup/cumulus-apps-deb.pubkey | sudo apt-key add -

验证服务软件包版本

在 Ubuntu 服务器上安装 NetQ 代理之前,请确保您安装并运行了以下软件包的最低版本

  • iproute 1:4.3.0-1ubuntu3.16.04.1 all
  • iproute2 4.3.0-1ubuntu3 amd64
  • lldpd 0.7.19-1 amd64
  • ntp 1:4.2.8p4+dfsg-3ubuntu5.6 amd64

验证服务器正在运行 lldpd

确保您正在运行 lldpd,而不是 lldpad。Ubuntu 默认不包含 lldpd;但是,安装需要它。

要安装此软件包,请运行以下命令

root@ubuntu:~# sudo apt-get update
root@ubuntu:~# sudo apt-get install lldpd
root@ubuntu:~# sudo systemctl enable lldpd.service
root@ubuntu:~# sudo systemctl start lldpd.service

安装和配置网络时间服务器

如果尚未安装和配置 NTP,请按照以下步骤操作。或者,您可以配置 PTP 以进行时间同步。

  1. 在服务器上安装 NTP(如果尚未安装)。服务器必须与 NetQ 设备同步,才能进行有用的统计分析。

    root@ubuntu:~# sudo apt-get install ntp
    
  2. 配置网络时间服务器。

  1. 在您选择的文本编辑器中打开 /etc/ntp.conf 文件。

  2. 服务器部分下,指定 NTP 服务器 IP 地址或主机名。

  3. 启用并启动 NTP 服务。

    root@ubuntu:~# sudo systemctl enable ntp
    root@ubuntu:~# sudo systemctl start ntp
    

如果您在带 VRF 的带外管理网络中运行 NTP,请在上述命令中指定 VRF (ntp@<vrf-name> 而不仅仅是 ntp)。

  1. 验证 NTP 是否运行正常。查找星号 (*) 或加号 (+),表示时钟已与 NTP 同步。

    root@ubuntu:~# ntpq -pn
    remote           refid            st t when poll reach   delay   offset  jitter
    ==============================================================================
    +173.255.206.154 132.163.96.3     2 u   86  128  377   41.354    2.834   0.602
    +12.167.151.2    198.148.79.209   3 u  103  128  377   13.395   -4.025   0.198
    2a00:7600::41    .STEP.          16 u    - 1024    0    0.000    0.000   0.000
    \*129.250.35.250 249.224.99.213   2 u  101  128  377   14.588   -0.299   0.243
    

获取 NetQ 代理软件包

要安装 NetQ 代理,您需要在每台服务器上安装 netq-agent。这可以从 NVIDIA 网络存储库获得。

要获取 NetQ 代理软件包

  1. 参考并更新本地 apt 存储库。
root@ubuntu:~# sudo wget -O- https://apps3.cumulusnetworks.com/setup/cumulus-apps-deb.pubkey | apt-key add -
  1. 添加 Ubuntu 存储库

创建文件 /etc/apt/sources.list.d/cumulus-host-ubuntu-jammy.list 并添加以下行

root@ubuntu:~# vi /etc/apt/sources.list.d/cumulus-apps-deb-jammy.list
...
deb [arch=amd64] https://apps3.cumulusnetworks.com/repos/deb jammy netq-latest
...

在这些示例中使用 netq-latest 意味着即使是主要版本更新,从存储库 get 也始终检索最新版本的 NetQ。如果您想将存储库保留在特定版本(例如 netq-4.4)上,请改用该版本。

创建文件 /etc/apt/sources.list.d/cumulus-host-ubuntu-focal.list 并添加以下行

root@ubuntu:~# vi /etc/apt/sources.list.d/cumulus-apps-deb-focal.list
...
deb [arch=amd64] https://apps3.cumulusnetworks.com/repos/deb focal netq-latest
...

在这些示例中使用 netq-latest 意味着即使是主要版本更新,从存储库 get 也始终检索最新版本的 NetQ。如果您想将存储库保留在特定版本(例如 netq-4.4)上,请改用该版本。

安装 NetQ 代理

完成准备步骤后,在您的交换机或主机上安装代理。

Cumulus Linux 4.4 及更高版本默认包含 netq-agent 软件包。要在早期版本的 Cumulus Linux 上安装 NetQ 代理

  1. 更新本地 apt 存储库,然后在交换机上安装 NetQ 软件。

    cumulus@switch:~$ sudo apt-get update
    cumulus@switch:~$ sudo apt-get install netq-agent
    
  2. 验证您是否具有正确版本的代理。

    cumulus@switch:~$ dpkg-query -W -f '${Package}\t${Version}\n' netq-agent
    

    您应该在结果中看到版本 4.12.0 和更新 49。

      • Cumulus Linux 5.9.0 或更高版本:netq-agent_4.12.0-cld12u49~1731404238.ffa541ea6_amd64.deb
      • Cumulus Linux 5.8.0 或更早版本,ARM 平台:netq-agent_4.12.0-cl4u49~1731403923.ffa541ea6_armel.deb
      • Cumulus Linux 5.8.0 或更早版本,amd64 平台:netq-agent_4.12.0-cl4u49~1731404368.ffa541ea6_amd64.deb
  1. 重新启动 rsyslog,以便它将日志文件发送到正确的目的地。

    cumulus@switch:~$ sudo systemctl restart rsyslog.service
    
  2. 配置 NetQ 代理,如下一节所述。

要安装 NetQ 代理

  1. 在服务器上安装软件包。

    root@ubuntu:~# sudo apt-get update
    root@ubuntu:~# sudo apt-get install netq-agent
    
  2. 验证您是否具有正确的代理版本。

    root@ubuntu:~# dpkg-query -W -f '${Package}\t${Version}\n' netq-agent
    

    您应该在结果中看到版本 4.12.0 和更新 49。

    • Ubuntu 20.04:netq-agent_4.12.0-ub20.04u49~1731404061.ffa541ea6_amd64.deb
    • Ubuntu 22.04:netq-agent_4.12.0-ub22.04u49~1731404070.ffa541ea6_amd64.deb
  1. 重新启动 rsyslog,以便它将日志文件发送到正确的目的地。
root@ubuntu:~# sudo systemctl restart rsyslog.service
  1. 配置 NetQ 代理,如下一节所述。

配置 NetQ 代理

在您要监控的交换机上安装 NetQ 代理后,您必须对其进行配置以获取有用且相关的数据。

NetQ 代理知道指定的 VRF 并通过它进行通信。如果您未指定 VRF,它将使用默认 VRF(名为 default)。如果您稍后更改为 NetQ 代理配置的 VRF(例如,使用生命周期管理配置文件),则可能会导致 NetQ 代理失去通信。

如果您将 NetQ 代理配置为在非 defaultmgmt 的 VRF 中通信,则必须将以下行添加到 /etc/netq/netq.ymlnetq-agent 部分

netq-agent:
  netq_stream_address: 0.0.0.0

有两种方法可用于配置 NetQ 代理

  • 编辑交换机上的配置文件,或
  • 使用 NetQ CLI

使用配置文件配置 NetQ 代理

您可以在 /etc/netq/ 目录中包含的 netq.yml 配置文件中配置 NetQ 代理。

  1. 使用您选择的文本编辑器打开 netq.yml 文件。例如

    sudo nano /etc/netq/netq.yml
    
  2. 找到 netq-agent 部分,或添加它。

  3. 按如下所示设置代理的参数

    • 端口:31980(默认配置)
    • 服务器:NetQ 服务器的 IP 地址,代理应将收集的数据发送到该服务器
    • vrf:default(或您指定的 vrf)
    • inband-interface:用于连接到您的 NetQ 服务器的接口,以及生命周期管理用于连接到交换机的接口(对于通过带内接口管理交换机的部署)

    您的配置应类似于这样

    netq-agent:
        port: 31980
        server: 192.168.1.254
        vrf: mgmt
    

    对于带内部署

    netq-agent:
        inband-interface: swp1
        port: 31980
        server: 192.168.1.254
        vrf: default
    

使用 NetQ CLI 配置 NetQ 代理

如果您配置了 NetQ CLI,则可以使用它来配置 NetQ 代理以将遥测数据发送到 NetQ 设备或 VM。要配置 NetQ CLI,请参阅 安装 NetQ CLI

如果您打算使用 VRF 进行代理通信(推荐),请参阅 配置代理以使用 VRF。如果您打算为通信指定端口,请参阅 配置代理以通过特定端口通信

使用以下命令配置 NetQ 代理

sudo netq config add agent server <text-opta-ip> [port <text-opta-port>] [ssl true | ssl false] [ssl-cert <text-ssl-cert-file> | ssl-cert download] [vrf <text-vrf-name>] [inband-interface <interface-name>]

此示例使用 NetQ 服务器 IP 地址 192.168.1.254、默认端口和 mgmt VRF,用于通过带外连接管理的交换机

sudo netq config add agent server 192.168.1.254 vrf mgmt
Updated agent server 192.168.1.254 vrf mgmt. Please restart netq-agent (netq config restart agent).
sudo netq config restart agent

此示例使用 NetQ 服务器 IP 地址 192.168.1.254、默认端口和 default VRF,用于通过接口 swp1 上的带内连接管理的交换机

sudo netq config add agent server 192.168.1.254 vrf default inband-interface swp1
Updated agent server 192.168.1.254 vrf default. Please restart netq-agent (netq config restart agent).
sudo netq config restart agent

配置高级 NetQ 代理设置

还有一些其他选项可用于配置 NetQ 代理。如果您正在使用 VRF,您可以配置代理以通过特定的 VRF 进行通信。您还可以配置代理以使用特定端口。

配置代理以使用 VRF

默认情况下,NetQ 使用 default VRF 在 NetQ 设备或 VM 和 NetQ 代理之间进行通信。虽然是可选的,但 NVIDIA 强烈建议您配置 NetQ 代理,使其仅通过 VRF(包括 管理 VRF)与 NetQ 设备或 VM 通信。为此,您需要在配置 NetQ 代理时指定 VRF 名称。例如,如果您配置了管理 VRF,并且希望代理通过它与 NetQ 设备或 VM 通信,请像这样配置代理

sudo netq config add agent server 192.168.1.254 vrf mgmt
sudo netq config restart agent

如果您稍后更改为 NetQ 代理配置的 VRF(例如,使用生命周期管理配置文件),则可能会导致 NetQ 代理失去通信。

配置代理以通过特定端口通信

默认情况下,NetQ 使用端口 31980 在 NetQ 服务器和 NetQ 代理之间进行本地部署通信,对于云部署,则使用端口 443。如果您希望 NetQ 代理通过不同的端口与 NetQ 服务器通信,您需要在配置 NetQ 代理时指定端口号,如下所示

sudo netq config add agent server 192.168.1.254 port 7379
sudo netq config restart agent