Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 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 探针的工作流程如下:

  1. 安装 apstra-cli。
  2. 安装包。
  3. 创建设备代理配置文件。
  4. 安装设备代理。
  5. 安装 IBA 探针。

实例化探测后,您可以使用 系统日志 将消息发送到系统日志服务器。

安装 apstra-cli

安装软件包

  1. 瞻博网络支持知识库文章 KB37156 下载最新的 Apstra SDK 包。
  2. 自定义收集器包支持从设备收集遥测数据。提取平台的收集器(例如, aosstdcollectors_custom_eos-0.1.0.post10-py2-none-any.whl eos平台在哪里,10版本在哪里)。
  3. 收集器需要特定的 Python 库包。如果 Apstra 环境可以访问互联网,则会自动安装文件。如果环境无法访问互联网,请从官方 Python 存储库下载以下文件。确保下载正确的版本:
    • NetAddr-0.7.17-py2.py3-none-any.whl
    • gtextfsm-0.2.1.tar.gz
    • pyeapi-0.8.2.tar.gz
  4. 从 Apstra GUI 的左侧导航菜单中,导航到设备>系统代理>包,然后单击上传包
  5. 单击“选择文件”并导航到自定义收集器包(如果无法访问互联网,则导航到三 (3) 个 Python 包),或将文件拖放到对话框窗口中。有关没有互联网接入的环境中的 Arista 设备,请参阅以下示例:
  6. 单击上传将包上传到 Apstra 服务器,然后关闭对话框以返回到汇总表视图。

创建代理配置文件

使用代理配置文件,您可以在配置文件中指定一次包,然后同时将配置文件应用于多个代理。让我们创建一个包含所有四个包的配置文件。(请记住,如果您的环境可以访问 Internet,则只需包含自定义收集器包。

  1. 从左侧导航菜单中,导航到设备>系统代理>代理配置文件,然后单击创建代理配置文件
  2. 对于此示例,请从平台下拉列表中选择 EOS
  3. “包”部分中,选择四个上载的包以将其与代理配置文件关联。(如果您的环境可以访问 Internet,则只需包含自定义收集器包。
  4. 单击创建以创建代理配置文件并返回到摘要表视图。

有关代理配置文件的详细信息,请参阅 代理配置文件

创建代理

现在,让我们为 Arista 设备创建代理,并使用代理配置文件将程序包关联到这些代理。我们建议您使用代理配置文件关联自定义收集器包,以便以后可以使用单个命令根据需要批量更新代理。

  1. 从左侧导航菜单中,导航到设备>系统代理>然后单击创建本机代理
  2. 输入代理的详细信息,然后从下拉列表中选择代理配置文件,如下图所示:
  3. 要验证软件包是否已成功安装在代理上,请从左侧导航菜单中导航到设备>受管设备,然后单击设备的管理 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 会显示可用的代理配置文件。要进行选择,请使用向上和向下箭头键。

例如。

安装 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 目录中可用。

要创建探测器,请使用 probe create apstra-cli 命令。系统将提示您输入其他选项。

要选择蓝图 ID, --blueprint 请使用和制表符补全。

要列出随 apstra-cli 提供的可用探针, --file 请使用并完成制表符。使用向上和向下箭头键滚动列表。

某些探头需要额外的 Probe template variables

要在蓝图中查看已安装的 IBA 探针,请导航到 分析>探针

Apstra IBA 探针示例

以下部分介绍如何安装一些默认情况下不可用的最有趣的探针。

丢包

丢包 IBA 探针会根据设备代理收集的接口遥测数据,检测 Apstra 软件管理的设备接口上的异常丢包量。

文件名 说明
pkt_discard_anomalies.j2 检测具有持续数据包丢弃的交换矩阵接口

要安装 pkt_discard_anomalies.j2 IBA 探针:

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“探测模板变量”。

唯一的 os_family 选择是 eos Arista EOS。(2) 个 process 选项 是 和 edac-poller fastcapiconfigagent

注意:

“FastCapi”作为服务进程仅对EOS版本4.18有效。对于较新版本的EOS,例如4.20及更高版本,只有ConfigAgent有效。在创建探测器期间,请格外小心,服务名称为小写。所以它应该是 configagent 代替 ConfigAgent.

要为第二个进程安装 IBA 探测器,请对另一个进程重复该 probe create 命令。

您可以编辑 IBA 探针名称以包含进程名称。

要安装 system_memory_usage_threshold_anomalies.j2 IBA 探针,请执行以下操作:

容错

这些 (2) 探测器需要 apstra-cli build 430 或更高版本。

文件名 说明
spine_fault_tolerance.j2 了解是否可以容忍交换矩阵中给定数量的主干发生故障。如果所有主干上的总流量超过可用主干容量,且主干故障次数达到指定数,则引发异常。
lag_link_fault_tolerance.j2 了解是否可以容忍服务器 LAG 中某一链路故障。根据绑定的总可用容量监控每个 LAG 中的总流量,出现一次链路故障。对于此类过度使用债券超过 50% 的机架,引发异常,并持续一段时间。

要安装 spine_fault_tolerance.j2 IBA 探针:

注意:

number_of_faulty_spines_to_be_tolerated 必须指定。

要安装 lag_link_fault_tolerance.j2 IBA 探针: