验证网络协议和服务操作
除了默认每小时运行的验证检查外,NetQ 还允许您按需或根据计划验证网络中运行的协议和服务的操作。这两种类型都可以自定义,以包含或排除特定的测试或设备。
按需验证允许您立即验证一个或多个网络协议和服务的操作。
计划验证允许您根据计划运行验证。您可以创建和计划最多 15 个自定义验证检查。每小时的默认验证检查不计入此限制。
创建验证
使用 NetQ UI,您可以同时为多个协议或服务创建按需或计划验证。当协议在可能的问题方面密切相关,或者您只想创建一个验证请求时,这非常方便。
在 UI 中创建验证
在工作台标题中,选择
验证,然后选择 创建验证。选择验证应在所有设备上运行还是在 设备组 上运行。
选择要包含在验证中的协议或服务。默认情况下,包含所有 构成验证的测试,但您可以选择单个测试以将其从验证检查中排除。将鼠标悬停在单个测试上,然后选择 自定义 以配置过滤器,这些过滤器可以从验证中排除单个设备或失败原因。然后单击 下一步。

- 选择时间和频率参数,并指定验证结果应显示的工作台。然后选择 运行 或 计划。

- 如果您选择立即运行验证,结果将显示在您在上一步中指定的工作台上。如果您选择了多个协议或服务,则每个选择都会打开一个卡片。要查看有关报告错误的更多信息,请将鼠标悬停在检查上,然后单击 查看详细信息。要查看给定协议的所有按需验证结果的所有数据,请单击 显示所有结果。

如果您计划稍后运行验证,NetQ 将显示一个仪表板,其中包含所有现有的验证检查,包括您刚刚创建的验证检查。如果您想立即运行您计划稍后运行的验证,请在标题中选择 验证,然后选择 现有验证。选择一个或多个验证,然后单击 查看结果。相关的验证结果卡将在您的工作台上打开。
要查看给定协议或服务的测试列表,请使用 netq show unit-tests。
要运行按需验证,请使用 netq check 命令。
您可以通过包含或排除 测试的编号 来包含或排除验证期间执行的一个或多个不同测试。check
命令的 <protocol-number-range-list>
值与 include
和 exclude
选项一起使用,以指示要包含哪些测试。它是由逗号分隔的数字列表,或使用破折号的范围,或这些的组合。逗号后不要使用空格。例如
- include 1,3,5
- include 1-5
- include 1,3-5
- exclude 6,7
- exclude 6-7
- exclude 3,4-7,9
您可以使用 netq add check filter 命令创建过滤器,以基于主机名、失败原因和其他参数来抑制验证失败。
以下示例显示了 BGP 验证中包含的所有检查的列表,以及它们各自的测试编号和过滤器(如果有)。
cumulus@switch:~$ netq show unit-tests bgp
0 : Session Establishment - check if BGP session is in established state
1 : Address Families - check if tx and rx address family advertisement is consistent between peers of a BGP session
2 : Router ID - check for BGP router id conflict in the network
3 : Hold Time - check for mismatch of hold time between peers of a BGP session
4 : Keep Alive Interval - check for mismatch of keep alive interval between peers of a BGP session
5 : Ipv4 Stale Path Time - check for mismatch of ipv4 stale path timer between peers of a BGP session
6 : Ipv6 Stale Path Time - check for mismatch of ipv6 stale path timer between peers of a BGP session
7 : Interface MTU - check for consistency of Interface MTU for BGP peers
Configured global result filters:
Configured per test result filters:
以下 BGP 验证仅包括会话建立(测试编号 0)和路由器 ID(测试编号 2)测试。请注意,您可以使用 include
或 exclude
选项中的任何一个获得相同的结果,并且未运行的测试标记为 skipped。
cumulus@switch:~$ netq check bgp include 0,2
bgp check result summary:
Total nodes : 13
Checked nodes : 0
Failed nodes : 0
Rotten nodes : 13
Warning nodes : 0
Skipped nodes : 0
Additional summary:
Failed Sessions : 0
Total Sessions : 0
Session Establishment Test : passed
Address Families Test : skipped
Router ID Test : passed
Hold Time Test : skipped
Keep Alive Interval Test : skipped
Ipv4 Stale Path Time Test : skipped
Ipv6 Stale Path Time Test : skipped
Interface MTU Test : skipped
要创建包含对单个协议或服务进行检查的请求,请运行 netq add validation type 命令。使用此命令会添加可在 UI 中访问的验证结果。
要创建计划验证,请运行 netq add validation 命令。
以下示例创建一个每 15 分钟运行一次的 BGP 验证
cumulus@switch:~$ netq add validation name Bgp15m type bgp interval 15m
Successfully added Bgp15m running every 15m
为每个额外的计划验证重新运行此命令。
管理验证
要查看根据计划运行的所有验证的仪表板,请在标题中选择 验证,然后单击 计划验证。
编辑或删除计划验证
您可以编辑或删除您创建的任何计划验证。这将创建一个新的验证请求,并且原始验证的名称应用了 (旧) 标签。旧的验证不再可编辑。默认验证不能编辑或删除,但可以禁用。
编辑或删除计划验证
单击
验证,然后单击 计划验证。
将鼠标悬停在验证上,然后单击
编辑 或
删除。

如果编辑,请选择要从验证请求中添加或删除哪些检查,然后单击 更新。
更改验证的计划,然后单击 更新。
您可以立即运行修改后的验证,或等待它按照您指定的计划运行。
- 使用以下命令确定要删除的计划验证的名称
netq show validation summary
[name <text-validation-name>]
type (addr | agents | bgp | evpn | interfaces | mlag | mtu | ntp | roce | sensors | vlan | vxlan)
[around <text-time-hr>]
[json]
此示例显示了 BGP 的所有计划验证
cumulus@switch:~$ netq show validation summary type bgp
Name Type Job ID Checked Nodes Failed Nodes Total Nodes Timestamp
--------------- ---------------- ------------ -------------------------- ------------------------ ---------------------- -------------------------
Bgp30m scheduled 4c78cdf3-24a 0 0 0 Thu Nov 12 20:38:20 2020
6-4ecb-a39d-
0c2ec265505f
Bgp15m scheduled 2e891464-637 10 0 10 Thu Nov 12 20:28:58 2020
a-4e89-a692-
3bf5f7c8fd2a
Bgp30m scheduled 4c78cdf3-24a 0 0 0 Thu Nov 12 20:24:14 2020
6-4ecb-a39d-
0c2ec265505f
Bgp30m scheduled 4c78cdf3-24a 0 0 0 Thu Nov 12 20:15:20 2020
6-4ecb-a39d-
0c2ec265505f
Bgp15m scheduled 2e891464-637 10 0 10 Thu Nov 12 20:13:57 2020
a-4e89-a692-
3bf5f7c8fd2a
...
- 要删除验证,请运行
netq del validation <text-validation-name>
此示例删除名为 Bgp15m 的计划验证。
cumulus@switch:~$ netq del validation Bgp15m
Successfully deleted validation Bgp15m
- 重复这些步骤以删除其他计划验证。
拓扑验证
拓扑验证将从 LLDP 遥测数据导出的实际网络拓扑与您上传到 UI 的拓扑蓝图(Graphviz DOT 格式)进行比较。
配置 LLDP
您必须在拓扑蓝图中定义的交换机和主机上配置 LLDP 服务,以发送与拓扑 DOT 文件中定义的连接匹配的端口 ID 子类型。lldpd 服务 允许您通过使用 configure lldp portidsubtype [ifname | macaddress]
命令指定接口名称 (ifname
) 或 MAC 地址 (macaddress
) 来配置端口 ID。
例如,如果您的主机配置为在 LLDP 端口 ID 字段中发送接口名称,请在拓扑 DOT 文件中定义接口名称
"switch1":"swp1" -- "host5":"eth1"
如果您的主机配置为在 LLDP 端口 ID 字段中发送 MAC 地址,请在拓扑 DOT 文件中定义 MAC 地址
"switch1":"swp1" -- "host5":"mac:48:b0:2d:f5:6b:b5"
您可以使用 lldpctl
命令验证从连接设备接收到的当前端口 ID。
- 如果您未在拓扑蓝图中配置所有网络设备,则验证结果卡中计算的设备总数可能包含 NetQ 已从中接收 LLDP 数据的其他设备。
- 如果您从 UI 下载拓扑蓝图文件并编辑其参数,请在重新上传之前为该文件指定不同的名称。
创建拓扑验证
在工作台标题中,选择
验证,然后选择 创建验证。
选择 拓扑 并上传拓扑蓝图文件。NetQ 将用于验证拓扑的蓝图文件的名称将显示在屏幕上。要使用其他文件,请将其上传到 UI,然后选择 管理蓝图文件。选择 激活 以指示您希望 NetQ 使用的蓝图文件。
完成后,仪表板会显示未通过拓扑验证的设备,以及列出布线问题的表格。NetQ 仅显示在拓扑蓝图中定义的网络链接。

将拓扑蓝图文件上传到 UI。
运行 netq check topology 命令。