NetQ 命令行概述

NetQ CLI 提供对 NetQ 代理收集的所有网络状态和事件信息的访问。它的行为类似于典型的 CLI,具有显示相关信息的命令组,以及提供附加信息的 help 命令。有关 NetQ 命令的完整列表,包括示例、选项和定义,请参阅命令行参考

NetQ 命令行界面仅在采用 Intel x86 或基于 ARM 架构的交换机和服务器主机上运行。

CLI 访问

当您安装或升级 NetQ 时,您还可以在您的 NetQ 服务器或设备以及主机上安装和启用 CLI

要从交换机或服务器访问 CLI

  1. 登录到设备。以下示例使用默认用户名 cumulus 和主机名 switch

    <computer>:~<username>$ ssh cumulus@switch
    
  2. 输入您的密码以到达命令提示符。默认密码为 CumulusLinux!

  3. 现在您可以运行命令了

    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 的状态。

当输入时间值时,您必须包含数值度量单位

  • w:周
  • d:天
  • h:小时
  • m:分钟
  • s:秒
  • now

当使用 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],其中选项因协议或服务而异。

检查命令示例
JSON 格式的检查命令示例

监控命令

netq show 命令让您可以查看有关各种协议和服务的当前或历史配置和状态的详细信息。

这些命令的形式为 netq [<hostname>] show <network-protocol-or-service> [options],其中选项因协议或服务而异。您可以使用 hostname 选项将命令从显示所有设备的信息限制为仅显示所选设备的信息。

显示命令示例
带过滤输出的显示命令示例

配置命令

各种命令—netq confignetq lcmnetq addnetq 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 输出的跟踪命令示例
带 detail 输出的跟踪命令示例
目标 MAC 地址的跟踪命令示例