NetQ 命令行概述
NetQ CLI 提供对 NetQ 代理收集的所有网络状态和事件信息的访问。它的行为类似于典型的 CLI,具有显示相关信息的命令组,以及提供附加信息的 help 命令。有关 NetQ 命令的完整列表,包括示例、选项和定义,请参阅命令行参考。
NetQ 命令行界面仅在采用 Intel x86 或基于 ARM 架构的交换机和服务器主机上运行。
CLI 访问
当您安装或升级 NetQ 时,您还可以在您的 NetQ 服务器或设备以及主机上安装和启用 CLI。
要从交换机或服务器访问 CLI
登录到设备。以下示例使用默认用户名 cumulus 和主机名 switch
<computer>:~<username>$ ssh cumulus@switch
输入您的密码以到达命令提示符。默认密码为 CumulusLinux!
现在您可以运行命令了
cumulus@switch:~$ netq show agents
命令行基础知识
本节介绍 NetQ CLI 的核心结构和行为。
命令行结构
NetQ 命令行具有扁平结构,而不是模态结构:您可以从标准命令提示符运行所有命令,而不是仅在特定模式下,在同一级别。
命令语法
所有 NetQ CLI 命令都以 netq
开头。您用于监控网络的命令分为四种语法类别之一:验证 (check)、监控 (show)、配置和跟踪。
netq check <network-protocol-or-service> [options]
netq show <network-protocol-or-service> [options]
netq config <action> <object> [options]
netq trace <destination> from <source> [options]
符号 | 含义 |
---|
圆括号 ( ) | 必需参数的分组。选择一个。 |
方括号 [ ] | 单个或一组可选参数。如果多个对象或关键字可用,请选择一个。 |
尖括号 < > | 必需变量。关键字或选项的值;根据您的部署命名法输入。 |
竖线 | | 分隔对象和关键字选项,也分隔值选项;输入一个对象或关键字以及零个或一个值。 |
命令输出
命令输出以颜色显示许多命令的结果。带有错误的结果显示为红色,警告显示为黄色。没有错误或警告的结果显示为黑色或绿色。VTEP 显示为蓝色。pretty 输出中的节点以粗体显示,尖括号 (< >) 包裹路由器接口。要仅以黑色文本查看输出,请运行 netq config del color
命令。您可以通过运行 netq config add color
再次以颜色查看输出。
所有 check 和 show 命令的默认时间范围为从现在到一小时前,除非您使用 around
关键字指定近似时间,或使用 between
关键字指定范围。例如,运行 netq check bgp
显示过去一小时内 BGP 的状态。运行 netq show bgp around 3h
显示三小时前 BGP 的状态。
当输入时间值时,您必须包含数值和度量单位
当使用 between
选项时,您可以将开始时间 (text-time
) 和结束时间 (text-endtime
) 值输入为最近的第一个和最不近的第二个,反之亦然。这些值不必具有相同的度量单位。使用 around
选项查看特定时间的信息。
命令提示符
NetQ 代码示例使用以下提示符
cumulus@switch:~$
表示用户 cumulus 已登录到交换机以运行示例命令cumulus@host:~$
表示用户 cumulus 已登录到主机以运行示例命令cumulus@netq-appliance:~$
表示用户 cumulus 已登录到 NetQ 设备以运行命令cumulus@hostname:~$
表示用户 cumulus 已登录到交换机、主机或设备以运行示例命令
要使用 NetQ CLI,交换机必须运行 Cumulus Linux 操作系统、NetQ 软件、NetQ 代理和 NetQ CLI。主机必须运行 Ubuntu 操作系统、NetQ 代理和 NetQ CLI。有关更多信息,请参阅安装 NetQ。
命令补全
当您输入命令时,您可以使用 tab 键获取有关有效关键字或选项的帮助。例如,将 tab 补全与 netq check
结合使用会显示命令的可能对象,并将您返回到命令提示符以完成命令
cumulus@switch:~$ netq check <<press Tab>>
addresses : IPv4/v6 addresses
agents : Netq agent
bgp : BGP info
cl-version : Cumulus Linux version
evpn : EVPN
interfaces : network interface port
mlag : Multi-chassis LAG (alias of clag)
mtu : Link MTU
ntp : NTP
roce : RoCE
sensors : Temperature/Fan/PSU sensors
topology : Topology
vlan : VLAN
vxlan : VxLAN
cumulus@switch:~$ netq check
命令帮助
当您输入命令时,您可以通过输入 help
作为命令的一部分来获取命令语法的帮助。例如,要查找 IP 地址检查可用的选项,请输入 netq check addresses
命令,后跟 help
cumulus@switch:~$ netq check addresses help
Commands:
netq check addresses [label <text-label-name> | hostnames <text-list-hostnames>] [check_filter_id <text-check-filter-id>] [include <addr-number-range-list> | exclude <addr-number-range-list>] [around <text-time>] [json | summary]
要查看命令及其定义的完整列表,请运行
cumulus@switch:~$ netq help list
要显示 NetQ 命令格式规则,请运行
cumulus@switch:~$ netq help verbose
命令历史记录
CLI 存储会话中发出的命令,这使您可以查看和重新运行您已经运行的命令。在命令提示符下,按向上箭头和向下箭头键在先前输入的命令列表中前后移动。当您找到给定命令时,您可以通过按 Enter 来运行该命令,就像您手动输入它一样。您也可以在运行命令之前修改命令。
命令类别
虽然 CLI 具有扁平结构,但 NetQ 命令在概念上分为以下功能类别
验证命令
netq check 命令通过查找网络中的错误和错误配置来验证网络的当前或历史状态。这些命令对各种配置的协议和服务运行全域范围的验证,以确定网络的运行状况。您可以对以下内容执行验证检查
- addresses:跨设备的 IPv4 和 IPv6 地址重复
- agents:所有交换机和主机上的 NetQ 代理操作
- bgp:跨网络结构的 BGP(边界网关协议)操作
- clag:Cumulus Linux MLAG(多机箱 LAG/链路聚合)操作
- cl-version:Cumulus Linux 版本
- evpn:EVPN(以太网虚拟专用网络)操作
- interfaces:网络接口端口操作
- mlag:Cumulus MLAG(多机箱 LAG/链路聚合)操作
- mtu:跨路径的链路 MTU(最大传输单元)一致性
- ntp:NTP(网络时间协议)操作
- roce:RoCE(基于融合以太网的 RDMA)配置
- sensors:温度/风扇/PSU 传感器操作
- topology:拓扑配置
- vlan:VLAN(虚拟局域网)操作
- vxlan:VXLAN(虚拟可扩展 LAN)数据路径操作
这些命令的形式为 netq check <network-protocol-or-service> [options]
,其中选项因协议或服务而异。
▼ 检查命令示例
以下示例显示了 netq check bgp
命令的输出。失败的检查显示在摘要结果或 failedNodes 部分中。
cumulus@switch:~$ netq check bgp
bgp check result summary:
Checked nodes : 8
Total nodes : 8
Rotten nodes : 0
Failed nodes : 0
Warning nodes : 0
Additional summary:
Total Sessions : 30
Failed Sessions : 0
Session Establishment Test : passed
Address Families Test : passed
Router ID Test : passed
▼ JSON 格式的检查命令示例
cumulus@switch:~$ netq check bgp json
{
"tests":{
"Session Establishment":{
"suppressed_warnings":0,
"errors":[
],
"suppressed_errors":0,
"passed":true,
"warnings":[
],
"duration":0.0000853539,
"enabled":true,
"suppressed_unverified":0,
"unverified":[
]
},
"Address Families":{
"suppressed_warnings":0,
"errors":[
],
"suppressed_errors":0,
"passed":true,
"warnings":[
],
"duration":0.0002634525,
"enabled":true,
"suppressed_unverified":0,
"unverified":[
]
},
"Router ID":{
"suppressed_warnings":0,
"errors":[
],
"suppressed_errors":0,
"passed":true,
"warnings":[
],
"duration":0.0001821518,
"enabled":true,
"suppressed_unverified":0,
"unverified":[
]
}
},
"failed_node_set":[
],
"summary":{
"checked_cnt":8,
"total_cnt":8,
"rotten_node_cnt":0,
"failed_node_cnt":0,
"warn_node_cnt":0
},
"rotten_node_set":[
],
"warn_node_set":[
],
"additional_summary":{
"total_sessions":30,
"failed_sessions":0
},
"validation":"bgp"
}
监控命令
netq show 命令让您可以查看有关各种协议和服务的当前或历史配置和状态的详细信息。
这些命令的形式为 netq [<hostname>] show <network-protocol-or-service> [options]
,其中选项因协议或服务而异。您可以使用 hostname
选项将命令从显示所有设备的信息限制为仅显示所选设备的信息。
▼ 显示命令示例
以下示例显示了 netq show agents
命令的标准输出
cumulus@switch:~$ netq show agents
Matching agents records:
Hostname Status NTP Sync Version Sys Uptime Agent Uptime Reinitialize Time Last Changed
----------------- ---------------- -------- ------------------------------------ ------------------------- ------------------------- -------------------------- -------------------------
hostd-11 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:48:38 2024 Thu May 30 12:54:54 2024 Thu May 30 12:54:54 2024 Mon Jun 3 16:54:39 2024
hostd-12 Rotten yes 4.10.0-rh7u47~1713946570.f7bc2d7 Thu May 30 12:13:57 2024 Thu May 30 12:55:07 2024 Thu May 30 12:55:07 2024 Thu May 30 13:00:12 2024
hostd-21 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:49:48 2024 Thu May 30 12:55:20 2024 Thu May 30 12:55:20 2024 Mon Jun 3 16:54:53 2024
hostd-22 Rotten yes 4.10.0-rh7u47~1713946570.f7bc2d7 Thu May 30 12:13:58 2024 Thu May 30 12:55:27 2024 Thu May 30 12:55:27 2024 Thu May 30 13:00:12 2024
hosts-11 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:50:48 2024 Thu May 30 12:55:40 2024 Thu May 30 12:55:40 2024 Mon Jun 3 16:54:52 2024
hosts-12 Rotten yes 4.10.0-rh7u47~1713946570.f7bc2d7 Thu May 30 12:13:58 2024 Thu May 30 12:55:53 2024 Thu May 30 12:55:53 2024 Thu May 30 13:00:43 2024
hosts-13 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:51:48 2024 Thu May 30 12:56:06 2024 Thu May 30 12:56:06 2024 Mon Jun 3 16:54:32 2024
hosts-21 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:52:46 2024 Thu May 30 12:56:19 2024 Thu May 30 12:56:19 2024 Mon Jun 3 16:54:34 2024
hosts-22 Rotten yes 4.10.0-rh7u47~1713946570.f7bc2d7 Thu May 30 12:13:59 2024 Thu May 30 12:56:32 2024 Thu May 30 12:56:32 2024 Thu May 30 13:01:13 2024
hosts-23 Fresh yes 4.10.0-ub18.04u47~1717071980.7db4cf1 Thu May 30 12:53:46 2024 Thu May 30 12:56:44 2024 Thu May 30 12:56:44 2024 Mon Jun 3 16:54:57 2024
spine-1 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:39 2024 Thu May 30 13:19:36 2024 Thu May 30 13:19:36 2024 Mon Jun 3 16:54:38 2024
spine-2 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:39 2024 Thu May 30 13:20:46 2024 Thu May 30 13:20:46 2024 Mon Jun 3 16:54:53 2024
spine-3 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:39 2024 Thu May 30 13:21:58 2024 Thu May 30 13:21:58 2024 Mon Jun 3 16:54:47 2024
torc-11 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:37 2024 Thu May 30 13:13:20 2024 Thu May 30 13:13:20 2024 Mon Jun 3 16:54:51 2024
torc-12 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:38 2024 Thu May 30 13:18:23 2024 Thu May 30 13:18:23 2024 Mon Jun 3 16:54:53 2024
torc-21 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:38 2024 Thu May 30 13:10:20 2024 Thu May 30 13:10:20 2024 Mon Jun 3 16:54:36 2024
torc-22 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:38 2024 Thu May 30 13:11:42 2024 Thu May 30 13:11:42 2024 Mon Jun 3 16:54:40 2024
▼ 带过滤输出的显示命令示例
以下示例显示了 netq show agents
命令的过滤输出
cumulus@switch:~$ netq spine-3 show agents
Matching agents records:
Hostname Status NTP Sync Version Sys Uptime Agent Uptime Reinitialize Time Last Changed
----------------- ---------------- -------- ------------------------------------ ------------------------- ------------------------- -------------------------- -------------------------
spine-3 Fresh no 4.10.0-cld12u46~1713949601.127fb0c1b Thu May 30 12:13:39 2024 Thu May 30 13:21:58 2024 Thu May 30 13:21:58 2024 Mon Jun 3 16:55:50 2024
配置命令
各种命令—netq config、netq lcm、netq add 和 netq del—允许您管理 NetQ 代理和 CLI 服务器配置、配置生命周期管理、设置容器监控以及管理通知。
NetQ 代理配置
代理命令配置单个 NetQ 代理。
代理配置命令可以从交换机和主机添加和删除代理、启动和停止代理操作、调试代理、指定默认命令以及启用或禁用各种监控功能(包括传感器、FRR (FRRouting)、CPU 使用率限制和“刚刚发生”事件)。
命令一次应用于一个代理。从 NetQ 代理所在的交换机或主机运行它们。您必须使用 sudo 权限运行 netq config
命令。
代理配置命令包括
netq config (add|del|show) agent
netq config (start|stop|status|restart) agent
以下示例显示了如何查看 NetQ 代理配置
cumulus@switch:~$ sudo netq config show agent
netq-agent value default
--------------------- --------- ---------
exhibitport
exhibiturl
server 127.0.0.1 127.0.0.1
cpu-limit 100 100
agenturl
wjh Enabled
enable-opta-discovery False False
agentport 8981 8981
port 31980 31980
vrf default default
is-gnmi-enabled False False
netq_stream_port 7680 7680
netq_stream_address 127.0.0.1 127.0.0.1
is-ssl-enabled False False
ssl-cert
generate-unique-hostname False False
()
在对代理进行配置更改后,您必须重新启动代理才能使更改生效。使用 netq config restart agent
命令。
有关其他示例,请参阅管理 NetQ 代理和安装 NetQ 代理。
CLI 配置
netq config cli
配置和管理 CLI 组件。您可以添加或删除 CLI(本质上是启用/禁用服务)、启动和重新启动它,并查看服务的配置。
命令一次应用于一个设备,您可以从运行 CLI 的交换机或主机运行它们。
CLI 配置命令包括
netq config add cli server
netq config del cli server
netq config show cli premises [json]
netq config show (cli|all) [json]
netq config (status|restart) cli
netq config select cli premise
以下示例显示了如何重新启动 CLI 实例
cumulus@switch~:$ netq config restart cli
以下示例显示了如何在本地 NetQ 设备或虚拟机上启用 CLI
cumulus@switch~:$ netq config add cli server 10.1.3.101
NetQ 系统配置命令
使用以下命令管理 NetQ 系统本身
- bootstrap:将安装程序加载到单服务器或服务器集群布置中的网络交换机和主机上。
- decommission:停用交换机或主机。
- install:在独立或集群部署中安装 NetQ;也用于安装补丁软件。
- upgrade bundle:在本地 NetQ 设备或虚拟机上升级 NetQ。
以下示例显示了如何停用名为 leaf01 的交换机
cumulus@netq-appliance:~$ netq decommission leaf01
有关安装和升级 NetQ 系统的信息和示例,请参阅安装 NetQ 和 升级 NetQ。
事件通知命令
通知配置命令可以通过第三方集成添加、删除和显示通知。这些命令创建显示事件消息的通道、过滤器和规则。有关分步说明和示例,请参阅配置系统事件通知。
基于阈值的事件通知命令
NetQ 支持 TCA 事件,这是一组由超过用户定义的阈值触发的事件。使用以下命令配置和管理 TCA 事件
netq add tca
netq del tca tca_id <text-tca-id-anchor>
netq show tca
生命周期管理命令
生命周期管理命令可帮助您高效地管理 NVIDIA 产品软件在您的网络设备(服务器、设备和交换机)上的部署。
LCM 命令允许您
- 管理本地存储库中的网络操作系统和 NetQ 镜像
- 配置用于安装和升级的交换机访问凭据
- 管理交换机清单和角色
- 在交换机上安装或升级 NetQ 代理和 CLI
- 使用 NetQ 代理升级交换机上的网络操作系统
- 查看升级尝试的结果历史记录
- 添加或删除 NetQ 配置配置文件
以下示例显示了 NetQ 配置配置文件
cumulus@switch:~$ netq lcm show netq-config
ID Name Default Profile VRF WJH CPU Limit Log Level Last Changed
------------------------- --------------- ------------------------------ --------------- --------- --------- --------- -------------------------
config_profile_3289efda36 NetQ default co Yes mgmt Disable Disable info Tue Apr 27 22:42:05 2021
db4065d56f91ebbd34a523b45 nfig
944fbfd10c5d75f9134d42023
eb2b
以下示例显示了如何将 Cumulus Linux 安装镜像添加到交换机上的 NetQ 存储库
netq lcm add cl-image /path/to/download/cumulus-linux-4.3.0-mlnx-amd64.bin
跟踪命令
netq trace 命令让您可以查看网络上两个节点之间可用的路径。您可以执行第 2 层或第 3 层跟踪,并以三种格式之一查看输出:JSON、pretty 和 detail。JSON 输出以 JSON 文件格式提供输出,以便于导入到其他应用程序或软件。Pretty 输出以伪图形方式排列路径,以帮助可视化多个路径。Detail 输出对于跃点计数较高的跟踪很有用,在这些跟踪中,pretty 输出会换行,从而使结果更难以解释。Detail 输出显示一个表格,每行一个路径。
trace 命令语法是
netq trace (<mac> vlan <1-4096>) from (<src-hostname>|<ip-src>) [vrf <vrf>] [around <text-time>] [json|detail|pretty] [debug]
netq trace <ip> from (<src-hostname>|<ip-src>) [vrf <vrf>] [around <text-time>] [json|detail|pretty] [debug]
netq trace (<mac> vlan <1-4096>) from <mac-src> [around <text-time>] [json|detail|pretty] [debug]
▼ 带 pretty 输出的跟踪命令示例
以下示例显示了如何基于目标 IP 地址运行跟踪,在 pretty 输出中,结果路径数量较少
cumulus@switch:~$ netq trace 10.0.0.11 from 10.0.0.14 pretty
Number of Paths: 6
Inconsistent PMTU among paths
Number of Paths with Errors: 0
Number of Paths with Warnings: 0
Path MTU: 9000
leaf04 swp52 -- swp4 spine02 swp2 -- swp52 leaf02 peerlink.4094 -- peerlink.4094 leaf01 lo
peerlink.4094 -- peerlink.4094 leaf01 lo
leaf04 swp51 -- swp4 spine01 swp2 -- swp51 leaf02 peerlink.4094 -- peerlink.4094 leaf01 lo
peerlink.4094 -- peerlink.4094 leaf01 lo
leaf04 swp52 -- swp4 spine02 swp1 -- swp52 leaf01 lo
leaf04 swp51 -- swp4 spine01 swp1 -- swp51 leaf01 lo
▼ 带 detail 输出的跟踪命令示例
此示例显示了如何基于目标 IP 地址运行跟踪,在 detail 输出中,结果路径数量较少
cumulus@switch:~$ netq trace 10.0.0.11 from 10.0.0.14 detail
Number of Paths: 6
Inconsistent PMTU among paths
Number of Paths with Errors: 0
Number of Paths with Warnings: 0
Path MTU: 9000
Id Hop Hostname InPort InVlan InTunnel InRtrIf InVRF OutRtrIf OutVRF OutTunnel OutPort OutVlan
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
1 1 leaf04 swp52 default swp52
2 spine02 swp4 swp4 default swp2 default swp2
3 leaf02 swp52 swp52 default peerlink.4094 default peerlink.4094
4 leaf01 peerlink.4094 peerlink.4094 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
2 1 leaf04 swp52 default swp52
2 spine02 swp4 swp4 default swp2 default swp2
3 leaf02 swp52 swp52 default peerlink.4094 default peerlink.4094
4 leaf01 peerlink.4094 peerlink.4094 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
3 1 leaf04 swp51 default swp51
2 spine01 swp4 swp4 default swp2 default swp2
3 leaf02 swp51 swp51 default peerlink.4094 default peerlink.4094
4 leaf01 peerlink.4094 peerlink.4094 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
4 1 leaf04 swp51 default swp51
2 spine01 swp4 swp4 default swp2 default swp2
3 leaf02 swp51 swp51 default peerlink.4094 default peerlink.4094
4 leaf01 peerlink.4094 peerlink.4094 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
5 1 leaf04 swp52 default swp52
2 spine02 swp4 swp4 default swp1 default swp1
3 leaf01 swp52 swp52 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
6 1 leaf04 swp51 default swp51
2 spine01 swp4 swp4 default swp1 default swp1
3 leaf01 swp51 swp51 default lo
--- --- --------------- --------------- ------ --------------------- --------------- --------------- --------------- --------------- --------------------- --------------- -------
▼ 目标 MAC 地址的跟踪命令示例
此示例显示了如何基于目标 MAC 地址运行跟踪,在 pretty 输出中
cumulus@switch:~$ netq trace A0:00:00:00:00:11 vlan 1001 from Server03 pretty
Number of Paths: 6
Number of Paths with Errors: 0
Number of Paths with Warnings: 0
Path MTU: 9152
Server03 bond1.1001 -- swp7 <vlan1001> Leaf02 vni: 34 swp5 -- swp4 Spine03 swp7 -- swp5 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>
swp4 -- swp4 Spine02 swp7 -- swp4 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>
swp3 -- swp4 Spine01 swp7 -- swp3 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>
bond1.1001 -- swp7 <vlan1001> Leaf01 vni: 34 swp5 -- swp3 Spine03 swp7 -- swp5 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>
swp4 -- swp3 Spine02 swp7 -- swp4 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>
swp3 -- swp3 Spine01 swp7 -- swp3 vni: 34 Leaf04 swp6 -- swp1.1001 Server03 <swp1.1001>