使用 apstra-cli 实用程序实现基于意图的分析
IBA with apstra-cli 概述
您可以从 Apstra GUI 使用基于意图的分析 (IBA),或者对于非生产环境,您可以使用实验性 apstra-cli 实用程序(以前称为 aos-cli)。有关如何从 GUI 使用 IBA 探测的信息,请参阅分析部分中 的探测 。本指南介绍如何使用 apstra-cli。
apstra-cli 实用程序是一个实验性工具,支持有限。除非瞻博网络支持部门建议,否则请勿在生产环境中使用它。某些版本的 apstra-cli 不适用于某些 Apstra 版本。某些 apstra-cli 命令在不同的 Apstra 版本之间可能有效,也可能无效。最好在非生产环境中测试具有特定 Apstra 版本的 apstra-cli 版本,或联系 瞻博网络支持 寻求帮助。
apstra-cli 实用程序使您能够从 Apstra 服务器中提取信息以进行分析(和其他功能)。IBA 探针的工作流程如下:
- 安装 apstra-cli。
- 安装包。
- 创建设备代理配置文件。
- 安装设备代理。
- 安装 IBA 探针。
实例化探测后,您可以使用 系统日志 将消息发送到系统日志服务器。
安装 apstra-cli
安装软件包
创建代理配置文件
使用代理配置文件,您可以在配置文件中指定一次包,然后同时将配置文件应用于多个代理。让我们创建一个包含所有四个包的配置文件。(请记住,如果您的环境可以访问 Internet,则只需包含自定义收集器包。
- 从左侧导航菜单中,导航到设备>系统代理>代理配置文件,然后单击创建代理配置文件。
- 对于此示例,请从平台下拉列表中选择 EOS。
- 在“包”部分中,选择四个上载的包以将其与代理配置文件关联。(如果您的环境可以访问 Internet,则只需包含自定义收集器包。
- 单击创建以创建代理配置文件并返回到摘要表视图。
有关代理配置文件的详细信息,请参阅 代理配置文件。
创建代理
现在,让我们为 Arista 设备创建代理,并使用代理配置文件将程序包关联到这些代理。我们建议您使用代理配置文件关联自定义收集器包,以便以后可以使用单个命令根据需要批量更新代理。
- 从左侧导航菜单中,导航到设备>系统代理>然后单击创建本机代理。
- 输入代理的详细信息,然后从下拉列表中选择代理配置文件,如下图所示:
- 要验证软件包是否已成功安装在代理上,请从左侧导航菜单中导航到设备>受管设备,然后单击设备的管理 IP。单击代理选项卡。“配置”部分列出了所有已安装的软件包。如果您手动上传了 Python 软件包(netaddr、gtextfsm 和 pyeapi),它们就会列出来。如果 Apstra 服务器可以访问互联网,则会自动上传,不会在此处列出。(要查看设备上安装的所有软件包,请登录到设备并检查
/tmp/plugins
文件夹。
从 apstra-cli 更新代理
从 apstra-cli build 423 开始,您可以根据需要,根据 IP/ID 或操作系统类型 (os_type)(例如 EOS),使用给定的代理配置文件更新代理。
要使用特定代理配置文件按 IP 范围更新代理,请使用以下示例中所示的命令 system-agents update-profile
。设置该 --profile
选项时,apstra-cli 会显示可用的代理配置文件。要进行选择,请使用向上和向下箭头键。
apstra-cli> system-agents update-profile --ip 172.20.120.6-11 --profile EOS-IBA EOS
例如。
apstra-cli> system-agents update-profile --ip 172.20.120.6-11 --profile 692bb0bb-c5e0-4d7e-a70c-c24b0d5650a8 Successfully updated agent 172.20.120.9 with given profile Successfully updated agent 172.20.120.6 with given profile Successfully updated agent 172.20.120.11 with given profile Successfully updated agent 172.20.120.7 with given profile Successfully updated agent 172.20.120.10 with given profile Successfully updated agent 172.20.120.8 with given profile apstra-cli>
安装 IBA 探针
您可以使用 Apstra GUI 安装 IBA 探针,对于非生产环境,您可以使用 apstra-cli。有关如何从 GUI 创建或实例化预定义探测器的信息,请参阅“分析”部分中 的探测器 。本节介绍如何使用 apstra-cli 实用程序。
本文档中描述的所有探测器都包含在 apstra-cli build 412 及更高版本中。 .j2
如果探测文件未内置到 apstra-cli 构建中,则探测文件可能会可用。
其中一些探测需要更新的服务注册表。下载最新的 Apstra SDK 并解压缩 json-schemas.tar.gz
文件。将文件复制到 /home/admin
Apstra 服务器的目录中,使其在 apstra-cli /mytmp
目录中可用。
apstra-cli> service-registry import-from --file /mytmp/json-schemas.tar.gz Successfully imported service registry entry for interface_details Successfully imported service registry entry for route_count Successfully imported service registry entry for multicast_groups Successfully imported service registry entry for sfp Successfully imported service registry entry for resource_usage Successfully imported service registry entry for mlag_domain Successfully imported service registry entry for stp Successfully imported service registry entry for vtep_counters Successfully imported service registry entry for vlan Successfully imported service registry entry for evpn_type5 Successfully imported service registry entry for ping Successfully imported service registry entry for vxlan_info Successfully imported service registry entry for pim_neighbor_count Successfully imported service registry entry for lldp_details Successfully imported service registry entry for evpn_type3 Successfully imported service registry entry for multicast_info Successfully imported service registry entry for bgp_vrf Successfully imported service registry entry for traceroute Successfully imported service registry entry for vrf Successfully imported service registry entry for table_usage Successfully imported service registry entry for vxlan_address_table Successfully imported service registry entry for acl_stats Successfully imported service registry entry for device_info Successfully imported service registry entry for power_supply Successfully imported service registry entry for interface_buffer Successfully imported service registry entry for pim_rp Successfully imported service registry entry for anycast_rp Successfully imported service registry entry for bgp_iba Successfully imported service registry entry for interface_iba apstra-cli>
要创建探测器,请使用 probe create
apstra-cli 命令。系统将提示您输入其他选项。
apstra-cli> probe create --blueprint Id of the blueprint --file Filename of json file with probe data. Choose from dropdown or specify custom path --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates
要选择蓝图 ID, --blueprint
请使用和制表符补全。
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 L2 Virtual two_stage_l3clos
要列出随 apstra-cli 提供的可用探针, --file
请使用并完成制表符。使用向上和向下箭头键滚动列表。
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file evpn.j2 sfp.j2 memory_usage_threshold_anomalies.j2 bandwidth_utilization_history.j2 power_supply_anomalies.j2 virtual_infra_vlan_mismatch.j2 hardware_vtep_counters_enabled.j2
某些探头需要额外的 Probe template variables
。
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates --process Probe template variable --os_family Probe template variable
要在蓝图中查看已安装的 IBA 探针,请导航到 分析>探针。
Apstra IBA 探针示例
以下部分介绍如何安装一些默认情况下不可用的最有趣的探针。
丢包
丢包 IBA 探针会根据设备代理收集的接口遥测数据,检测 Apstra 软件管理的设备接口上的异常丢包量。
文件名 | 说明 |
---|---|
pkt_discard_anomalies.j2 | 检测具有持续数据包丢弃的交换矩阵接口 |
要安装 pkt_discard_anomalies.j2
IBA 探针:
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/pkt_discard_anomalies.j2 Ensuring needed telemetry services for probe are enabled... Successfully created probe f472ba21-d60f-44dc-9f5d-8318c8b9c07b in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
Switch Memory Leak(仅限 Arista EOS)
交换机内存泄漏 IBA 探测根据设备代理收集的系统遥测数据,检测 Apstra 软件管理的设备上指定进程中的异常内存泄漏。此探测需要在设备代理配置中设置的设备用户凭据,该配置具有登录名和对设备 BASH 提示符的访问权限。
文件名 | 说明 |
---|---|
memory_usage_threshold_anomalies.j2 | 检测结构中所有交换机上指定进程中的内存泄漏 |
system_memory_usage_threshold_anomalies.j2 | 检测结构中存在潜在内存泄漏的交换机 |
memory_usage_threshold_anomalies.j2
IBA 探测需要 和 process
的其他os_family
“探测模板变量”。
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --skip-service-check [Optional] By default, required telemetry services are checked and enabled on target --check-status [Optional] Wait for probe to become operational. Default: False --service-interval When skip-service-check is False and service is not alreadypresent, this indicates --process Probe template variable --os_family Probe template variable
唯一的 os_family
选择是 eos
Arista EOS。(2) 个 process
选项 是 和 edac-poller
fastcapi
或 configagent
。
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --os_family eos --process fastcapi Ensuring needed telemetry services for probe are enabled... Enabled service resource_usage on device l2-virtual-002-leaf1:172.20.60.11 Enabled service resource_usage on device l2-virtual-001-leaf1:172.20.60.9 Enabled service resource_usage on device spine2:172.20.60.8 Enabled service resource_usage on device spine1:172.20.60.6 Enabled service resource_usage on device l2-virtual-003-leaf1:172.20.60.10 Enabled service resource_usage on device l2-virtual-004-leaf1:172.20.60.7 Successfully created probe 6a258d83-1053-42ad-935c-0550cc500b7d in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
apstra-cli> probe create --blueprint rack-based-blueprint-10990707 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/memory_usage_threshold_anomalies.j2 --os_family eos --process configagent Ensuring needed telemetry services for probe are enabled... Successfully created probe ed2c6be1-b4b1-4e1b-bd07-da431e89eeec in blueprint rack-based-blueprint-10990707 apstra-cli>
“FastCapi”作为服务进程仅对EOS版本4.18有效。对于较新版本的EOS,例如4.20及更高版本,只有ConfigAgent有效。在创建探测器期间,请格外小心,服务名称为小写。所以它应该是 configagent
代替 ConfigAgent
.
要为第二个进程安装 IBA 探测器,请对另一个进程重复该 probe create
命令。
您可以编辑 IBA 探针名称以包含进程名称。
要安装 system_memory_usage_threshold_anomalies.j2
IBA 探针,请执行以下操作:
apstra-cli> probe create --blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/system_memory_usage_threshold_anomalies.j2 Ensuring needed telemetry services for probe are enabled... Successfully created probe a669ccf8-cba7-414b-ad46-a7d4b4ca3928 in blueprint 67cd936d-c2de-49f8-8708-df465f0cdc68 apstra-cli>
容错
这些 (2) 探测器需要 apstra-cli build 430 或更高版本。
文件名 | 说明 |
---|---|
spine_fault_tolerance.j2 | 了解是否可以容忍交换矩阵中给定数量的主干发生故障。如果所有主干上的总流量超过可用主干容量,且主干故障次数达到指定数,则引发异常。 |
lag_link_fault_tolerance.j2 | 了解是否可以容忍服务器 LAG 中某一链路故障。根据绑定的总可用容量监控每个 LAG 中的总流量,出现一次链路故障。对于此类过度使用债券超过 50% 的机架,引发异常,并持续一段时间。 |
要安装 spine_fault_tolerance.j2
IBA 探针:
apstra-cli> probe create --blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/spine_fault_tolerance.j2 --number_of_faulty_spines_to_be_tolerated 1 Successfully created probe 0f0e9bf7-d9b3-43d7-906e-a9f0675e68f2 in blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da apstra-cli>
number_of_faulty_spines_to_be_tolerated
必须指定。
要安装 lag_link_fault_tolerance.j2
IBA 探针:
apstra-cli> probe create --blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da --file /usr/local/lib/python2.7/site-packages/aos_cli/resources/probes/lag_link_fault_tolerance.j2 Successfully created probe 45ce5fe8-555f-41a9-b0ae-267125669d3f in blueprint bf7a322c-ee3a-4dcf-aa20-df0560f538da apstra-cli>