安装 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 代理升级到最新版本
- 通过取消注释或在
/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
- 将
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 以进行时间同步。
在服务器上安装 NTP(如果尚未安装)。服务器必须与 NetQ 设备同步,才能进行有用的统计分析。
root@ubuntu:~# sudo apt-get install ntp
配置网络时间服务器。
在您选择的文本编辑器中打开
/etc/ntp.conf
文件。在服务器部分下,指定 NTP 服务器 IP 地址或主机名。
启用并启动 NTP 服务。
root@ubuntu:~# sudo systemctl enable ntp root@ubuntu:~# sudo systemctl start ntp
如果您在带 VRF 的带外管理网络中运行 NTP,请在上述命令中指定 VRF (ntp@<vrf-name>
而不仅仅是 ntp
)。
验证 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 代理软件包
- 参考并更新本地
apt
存储库。
root@ubuntu:~# sudo wget -O- https://apps3.cumulusnetworks.com/setup/cumulus-apps-deb.pubkey | apt-key add -
- 添加 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 代理
更新本地
apt
存储库,然后在交换机上安装 NetQ 软件。cumulus@switch:~$ sudo apt-get update cumulus@switch:~$ sudo apt-get install netq-agent
验证您是否具有正确版本的代理。
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
重新启动
rsyslog
,以便它将日志文件发送到正确的目的地。cumulus@switch:~$ sudo systemctl restart rsyslog.service
配置 NetQ 代理,如下一节所述。
要安装 NetQ 代理
在服务器上安装软件包。
root@ubuntu:~# sudo apt-get update root@ubuntu:~# sudo apt-get install netq-agent
验证您是否具有正确的代理版本。
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
- 重新启动
rsyslog
,以便它将日志文件发送到正确的目的地。
root@ubuntu:~# sudo systemctl restart rsyslog.service
- 配置 NetQ 代理,如下一节所述。
配置 NetQ 代理
在您要监控的交换机上安装 NetQ 代理后,您必须对其进行配置以获取有用且相关的数据。
NetQ 代理知道指定的 VRF 并通过它进行通信。如果您未指定 VRF,它将使用默认 VRF(名为 default)。如果您稍后更改为 NetQ 代理配置的 VRF(例如,使用生命周期管理配置文件),则可能会导致 NetQ 代理失去通信。
如果您将 NetQ 代理配置为在非 default 或 mgmt 的 VRF 中通信,则必须将以下行添加到 /etc/netq/netq.yml
的 netq-agent
部分
netq-agent:
netq_stream_address: 0.0.0.0
有两种方法可用于配置 NetQ 代理
- 编辑交换机上的配置文件,或
- 使用 NetQ CLI
使用配置文件配置 NetQ 代理
您可以在 /etc/netq/
目录中包含的 netq.yml
配置文件中配置 NetQ 代理。
使用您选择的文本编辑器打开
netq.yml
文件。例如sudo nano /etc/netq/netq.yml
找到 netq-agent 部分,或添加它。
按如下所示设置代理的参数
- 端口: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