Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Paragon Insights 概念

Paragon Insights(前身为 HealthBot)是一款高度可编程的基于遥测的分析应用程序。有了它,您可以诊断网络问题并从根本上解决问题,检测网络异常,预测潜在的网络问题,并为出现的任何问题创建实时补救措施。

为此,必须将网络设备和 Paragon Insights 配置为分别发送和接收大量数据。本指南的本部分和其他部分都介绍了设备配置。

配置 Paragon Insights 或任何应用程序以读取传入的遥测数据并对其做出反应,需要一种语言来描述特定于所分析的系统和数据的多个元素。这种类型的语言称为域特定语言(DSL),即特定于一个域的语言。任何 DSL 都是为了帮助回答问题而构建的。对于 Paragon Insights,这些问题是:

  • 问:发送数据的系统由哪些组件组成?

    答:网络设备由内存、CPU、接口、协议等组成。在 Paragon Insights 中,这些主题称为 Paragon Insights 主题

  • 问:我们如何收集、筛选、处理和分析所有这些传入的遥测数据?

    答: Paragon Insights 使用 Paragon Insights 规则 - 基础知识 ,由称为传感器、字段、变量、触发器等的信息块组成。

  • 问:我们如何确定要查找的内容?

    答:这取决于你想解决的问题或你想回答的问题。Paragon Insights 使用 Paragon Insights Playbook 创建特定规则的集合,并将其应用于特定设备组,以实现特定目标。例如, system-kpis-playbook 当系统内存使用率超过用户定义的阈值时,可以向用户发出警报。

本节介绍这些关键概念以及更多内容,您需要了解这些概念,然后才能使用 Paragon Insights。

Paragon Insights 数据收集方法

为了提供对网络设备状态的可见性,Paragon Insights 首先需要收集其遥测数据和其他状态信息。它使用传感器来做到这一点。

Paragon Insights 支持将数据从设备“推送”到 Paragon Insights 的传感器,以及需要 Paragon Insights 使用定期轮询从设备“提取”数据的传感器。

数据收集 - “推送”模型

随着网络中对象的数量及其生成的指标不断增长,收集操作统计数据以监控网络运行状况已成为一项日益增加的挑战。传统的“拉动”数据收集模型(如 SNMP 和 CLI)需要额外的处理来定期轮询网络元素,并且可能直接限制扩展。

“推送”模型通过异步传递数据来克服这些限制,从而消除了轮询。借助此模型,Paragon Insights 服务器可以向网络设备发出单个请求,以流式传输定期更新。因此,“推送”模型具有高度可扩展性,可以支持监控网络中的数千个对象。Junos 设备以 Junos 遥测接口 (JTI) 的形式支持此模型。

Paragon Insights 目前支持五种“推送”摄取类型。

  • 原生 GPB

  • NetFlow

  • sFlow

  • OpenConfig

  • Syslog

Paragon Insights 数据摄取指南详细介绍了这些推送模型数据收集或摄取方法。

数据收集 - “拉动”模型

虽然“推送”模型因其效率和可扩展性而成为首选方法,但仍存在适合“拉动”数据收集模型的情况。借助“拉取”模型,Paragon Insights 会定期从网络设备请求数据。

Paragon Insights 目前支持两种“拉取”摄取类型。

  • iAgent (CLI/NETCONF)

  • Snmp

Paragon Insights 数据摄取指南详细介绍了这些拉模型数据收集或摄取方法。

Paragon 见解主题

网络设备由许多组件和系统组成,从 CPU 和内存到接口和协议栈等等。在 Paragon Insights 中,主题是用于处理这些不同设备组件的构造。 主题 块用于创建定义需要建模的内容的名称空间。每个 主题 块由一个或多个规则块组成,而 规则 块又由 字段 块、 功能 块、 触发器 块等组成。有关详细信息,请参阅 Paragon Insights 规则 - 深入探讨 。在 Paragon Insights 中创建的每个规则都必须是主题的一部分。瞻博网络已将其中许多系统组件整理成一个 主题 列表,例如:

  • 底盘

  • 服务等级

  • 外部

  • 防火墙

  • 接口

  • 内核

  • 线卡

  • 逻辑系统

  • 协议

  • 路由选项

  • 安全

  • 服务

  • 系统

您可以通过附加到主题名称,在任何 .<sub-topic> 瞻博网络主题名称下创建子主题。例如,kernel.tcpip 或 system.cpu。

瞻博网络提供的任何预定义规则都适合其中一个瞻博网络主题,外部主题是为用户创建的规则保留的。在 Paragon Insights Web GUI 中,创建新规则时,“主题”字段会自动填充外部主题名称。

Paragon Insights 规则 - 基础知识

Paragon Insights 的主要功能是从网络设备收集遥测数据并做出反应。定义如何收集数据以及如何对数据做出反应是 规则的作用。

Paragon Insights 附带了一组默认规则,可以在 Paragon Insights GUI 的 “配置>规则 ”页面上查看,也可以在 GitHub 的 healthbot-rules 存储库中查看。您还可以创建自己的规则。

Paragon Insights 规则的结构如下所示:

为了使规则井井有条,Paragon Insights 将它们组织成 主题。主题可以是非常笼统的,如 系统,也可以是更精细的,如 protocol.bgp。每个主题包含一个或多个规则。

如上所述, 规则 包含定义如何收集和处理数据的所有详细信息和说明。每个规则都包含以下必需元素:

  • 传感器定义用于收集数据的参数。这通常包括要使用的数据收集方法(如上文 Paragon Insights 数据收集方法中所述)、有关摄取哪些数据的一些指导,以及推送或拉取数据的频率。在任何给定规则中,传感器可以直接在规则中定义,也可以从另一个规则引用。

    • 示例:使用 SNMP 传感器,每 60 秒轮询一次网络设备,以收集瞻博网络 SNMP MIB 表 jnxOperatingTable 中的所有设备数据。

  • 传感器通常会引入大量数据,因此 字段 提供了一种筛选或操作该数据的方法,使您可以识别和隔离您关心的特定信息。字段还可以充当占位符值(如静态阈值),以帮助系统执行数据分析。

    • 示例:从传感器中上面指定的 SNMP 表中提取、隔离和存储 jnxOperating15MinLoadAvg (CPU 15 分钟平均利用率)值。

  • 触发器 会定期将字段与其他元素组合在一起,以比较数据并确定当前设备状态。触发器包括一个或多个“when-then”语句,其中包括定义如何在运行状况页面上可视化设备状态的参数。

    • 示例:每 90 秒检查一次 CPU 15 分钟平均利用率值,如果超过定义的阈值,请在设备运行状况页面上将设备状态设置为红色,并显示显示当前值的消息。

该规则还可以包含以下可选元素:

  • 矢量 允许您利用现有元素,以避免在多个规则中重复配置相同元素的需要。

    • 示例:具有已配置传感器的规则,以及从另一个规则到第二个传感器的向量;没有传感器的规则,以及指向其他规则中的字段的向量

  • 变量 可用于提供上述所需元素所需的其他支持参数。

    • 示例:字符串“ge-0/0/0”,在收集所有接口状态的字段中使用,用于将数据过滤到一个接口;字段中引用的整数(如“80”)可用作静态阈值

  • 函数 允许您提供有关如何进一步与数据交互以及如何对某些事件做出反应的指令(以 Python 脚本的形式)。

    • 示例:监视输入和输出数据包计数的规则,使用函数比较计数值;监视系统存储的规则,如果存储利用率超过定义的阈值,则调用函数来清理临时文件和日志文件

注意:

规则本身实际上什么也做不了。要使用规则,您需要将它们添加到 Paragon Insights 剧本中。

Paragon 见解规则 - 深入探讨

规则是从网络或 Junos 设备提取特定信息所需的组件或块包。 规则 符合为分析应用程序量身定制的域特定语言 (DSL)。DSL 旨在允许规则捕获:

  • 规则需要能够操作的最小输入数据集

  • 需要在设备上配置的最少遥测传感器集

  • 来自已配置传感器的感兴趣区域

  • 报告或轮询频率

  • 对收集的数据进行操作的触发器集

  • 触发启动所需的条件或评估

  • 触发器启动时需要执行的操作或通知

以下各节详细介绍了规则、主题和行动指南。

规则

规则 意味着没有任何硬编码。想想阈值;如果阈值是硬编码的,则没有简单的方法可以为具有不同要求的不同客户或设备对其进行自定义。因此,使用参数化定义规则以设置默认值。这允许将参数保留为默认值或由操作员在部署时进行自定义。可以在设备组或单个设备级别完成自定义,同时应用 Paragon Insights 剧本 ,其中包含各个规则。

以设备为中心的规则称为设备规则。机箱、系统、线卡和接口等设备组件在规则定义中均作为 Paragon Insights 主题 进行寻址。通常,设备规则使用设备上的传感器。

跨多个设备的规则称为网络规则。网络规则:

  • 必须配置规则频率

  • 不得包含传感器

  • 不能与剧本中的设备规则混合使用

若要部署任一类型的规则,请将规则包含在 playbook 中,然后将该 playbook 应用于设备组或网络组。

注意:

Paragon Insights 附带一组预定义的规则。

并非组成规则的所有块都是每个规则所必需的。规则定义中是否需要特定块取决于您尝试访问的信息类型。此外,某些规则组件对网络规则无效。 表 1 列出了规则的组件,并提供了每个组件的简要说明。

表 1:规则组件

它的作用

设备规则中是否必需?

是否对网络规则有效?

传感器

传感器块类似于获取数据的访问方法。Paragon Insights 中提供多种类型的传感器:OpenConfig、Native GPB、iAgent、SNMP 和 syslog。

它定义了设备上需要激活的传感器才能访问触发器最终运行的数据字段。传感器名称由 字段引用。

OpenConfig 和 iAgent 传感器要求分别为推送间隔或轮询间隔设置频率。SNMP 传感器还要求您设置频率。

否 - 可以创建仅使用来自其他规则的字段引用或具有来自其他规则的引用的向量的规则。在这些情况下,必须显式定义规则频率。

领域

字段块的源可以是指向传感器的指针、对其他规则中定义的字段的引用、常量或公式。该字段可以是字符串、整数或浮点数。默认字段类型为字符串。

字段包含 触发器操作的数据。从 HealthBot 3.1.0 版开始,可以根据条件标记配置文件将常规字段和键字段添加到规则中。请参阅下面的 标记 部分。

是的

向量

Vectors 块允许处理列表、创建集合以及比较不同集合之间的元素。向量用于保存一个或多个字段中的多个值。

是的

变量

变量块允许您将值传递到规则中。不变规则定义是通过胡须样式的模板实现的,如 {{<placeholder-variable> }}。占位符变量值默认在规则中设置,也可以在部署时由用户定义。

功能

函数块允许您通过在用 python 等语言编写的外部文件中创建原型方法来扩展字段、触发器和操作。函数块包括有关文件路径、要访问的方法和任何参数的详细信息,包括参数说明及其是否是必需的。

触发器

触发器块对字段进行操作,并由一个或多个术语定义。当满足术语的条件时,将执行术语中定义的操作。

默认情况下,触发器每 10 秒评估一次,除非显式配置为不同的频率。

默认情况下,将并行评估规则中定义的所有触发器。

是 – 触发器使规则能够执行操作。

是的

规则属性

规则属性块允许您指定 Paragon Insights 规则的元数据,例如硬件依赖关系、软件依赖关系和版本历史记录。

是的

行动前/行动后

操作前/操作后块允许您在规则配置中添加操作引擎工作流时自动执行这些工作流。Paragon Insights 在 playbook 实例化开始时执行操作前任务,并在您停止 playbook 实例之后执行操作后任务。

是的

传感器

定义传感器时,必须指定传感器名称、传感器类型和数据收集频率等信息。如 表1所述,传感器可以是以下之一:

  • OpenConfig

    有关 OpenConfig JTI 传感器的信息,请参阅 . ./../../../../../.

  • Native GPB

    有关本机 GPB JTI 传感器的信息,请参阅 . ./../../../../../.

  • iAgent

    iAgent 传感器使用基于 NETCONF 和 YAML 的 PyEZ 表和视图来获取必要的数据。支持结构化 (XML) 和非结构化(VTY 命令和 CLI 输出)数据。有关 Junos PyEZ 的信息,请参阅 Junos PyEz 文档

  • SNMP

    简单的网络管理协议。

  • syslog

    系统日志

  • BYOI

    自带引入 – 允许您定义自己的引入类型。

  • Flow

    NetFlow 流量分析协议

  • sFlow

    sFlow 数据包采样协议

当不同规则定义了相同的传感器时,每个传感器只会创建一个订阅。密钥(由 OpenConfig 和本机 GPB 传感器的传感器路径以及 iAgent 传感器的文件和元组组成)用于标识关联的规则。

当定义了具有相同传感器路径键的多个传感器不同的频率时,将为 传感器 订阅选择最低频率。

领域

有四种类型的字段源,如 表 1 所示。 表 2 更详细地描述了四种字段引入类型。

表 2:字段引入类型详细信息

字段类型

细节

传感器

订阅传感器通常提供对多列数据的访问。例如,订阅 OpenConfig 接口传感器可提供对大量信息的访问,包括计数器相关信息,例如:

/interfaces/counters/tx-bytes,

/interfaces/counters/rx-bytes,

/interfaces/counters/tx-packets,

/interfaces/counters/rx-packets,

/接口/计数器/操作状态等

鉴于 OpenConfig 传感器中路径的名称相当长,字段中的传感器定义允许混叠和过滤。对于单传感器规则,字段表所需的传感器集将根据规则中定义的触发器以编程方式从原始表中自动导入。

参考

触发器只能对该规则中定义的字段进行操作。在某些情况下,一个字段可能需要引用另一个规则中定义的另一个字段触发器输出。这是通过引用其他字段或触发器并应用其他筛选器来实现的。引用的字段或触发器被视为引用字段的流通知。同一规则不支持引用。

引用还可以采用时间范围选项,该选项从提供的时间范围中选择值(如果可用)。字段引用必须始终是明确的,因此必须适当注意过滤结果以仅获取一个值。如果引用接收多个数据点或值,则仅使用最新的数据点或值。例如,如果您引用过去 3 分钟字段中包含的值,则在该时间范围内该字段中最终可能会有 6 个值。Paragon Insights 仅在此类情况下使用最新值。

不断

定义为常量的字段是在执行过程中无法更改的固定值。Paragon Insights 常量 类型可以是字符串、整数和双精度。

公式

原始传感器字段是定义触发器的起点。但是,触发器通常通过应用数学转换来处理通过公式定义的派生字段。

公式可以是预定义的,也可以是用户定义的 (UDF)。预定义公式包括:最小值、最大值、平均值、总和、计数、变化率、经过时间、评估值、标准偏差、微爆发、动态阈值、异常检测、异常值检测和预测。

变化率是指当前值和先前值在其时间点上的差值。数据包传输是可以使用变化率公式的示例用例。“保留时间”字段采用时间间隔阈值。当前值和先前值之间的时间间隔不能超过指定的保持时间值。乘法系数字段用于转换字段值的单位。如果字段值以字节为单位计算,则指定 1024 作为乘法因子会将结果转换为千字节。“保持时间”和“乘法系数”不是应用“变化率”公式时的必填字段。

在 Paragon Insights 4.0.0 中,您可以使用 获取经过时间公式 $time中的当前点时间。

一些预定义的公式可以对时间范围进行操作,以便处理历史数据。如果未指定时间范围,则公式适用于当前数据(如 现在指定)。

向量

向量 有助于将多个元素收集到单个规则中。例如,使用向量可以收集所有接口错误字段。矢量的语法为:

$field-n 可以是类型引用的字段。

定义向量时使用的字段可以是对其他规则中定义的字段的直接引用:

此语法允许通过构造的 <field-name>=<field-value> 部分进行选择性筛选。向量还可以采用从提供的时间范围中选择值的时间范围选项。当在给定时间范围内返回多个值时,它们都被选为一个数组。

向量支持以下预定义公式:

  • unique @vector1–返回来自 vector1 的唯一元素集

  • @vector1 and @vector2–返回向量 1 和向量 2 中唯一元素的交集。

  • @vector1 or @vector2–返回两个向量中唯一元素的总数。

  • @vector1 unless @vector2–返回向量 1 中的唯一元素集,但不返回向量 2 中的唯一元素集

变量

变量是在规则创建期间在 “变量 ”页面上定义的。变量定义的这一部分创建默认值,如果在部署期间设备组中或设备上未设置特定值,则使用该默认值。例如,规则 check-interface-status 有一个名为 的变量 interface_name变量页面上 设置的值是正则表达式 (regex), .*表示所有接口。

如果按原样应用,则该 check-interface-status 规则将提供有关设备组中所有设备上所有接口的接口状态信息。应用包含此规则的 playbook 时,可以在设备组或设备级别替代默认值。这使您可以灵活地应用规则。优先顺序是设备值覆盖设备组值,设备组值覆盖规则中设置的默认值。

最佳实践:

强烈建议为设备规则中定义的变量提供默认值。瞻博网络提供的所有规则均遵循此建议。不得为网络规则中定义的变量设置默认值。

功能

函数是在创建规则期间在“函数”选项卡上定义的。在此处定义函数允许在与字段关联的公式以及触发器的“时间”和“然后”部分中使用它。触发器的 when 子句中使用的函数称为用户定义函数。这些必须返回 true 或 false。触发器的 then 子句中使用的函数称为用户定义操作。

触发器

触发器在 Paragon Insights 规则定义中起着举足轻重的作用。它们是规则的一部分,用于确定是否以及何时根据可用传感器数据的变化采取任何操作。触发器是以何时-这个,然后-那个的方式构造的。如前所述,触发操作基于 条款术语 是使用 when 子句构建的,这些子句监视字段值的更新, 然后 是根据更改的内容启动某些操作的子句。可以在单个触发器中创建多个

对条款when 子句的评估从术语列表的顶部开始,一直到底部。如果评估了某个术语但未进行匹配,则评估下一个术语。默认情况下,评估以这种方式进行,直到进行匹配或到达列表底部而没有匹配。

可在 when 子句中使用的预定义运算符包括:

注意:

对于计算方程,在本文档中,方程的左侧和右侧分别缩写为 LHS 和 RHS。

  • 大于 – 用于检查一个值是否大于另一个值。

    • 返回:真或假

    • 语法:大于 <LHS> <RHS> [时间范围<范围>]

    • 例子: //Memory > 3000 MB in the last 5 minutes

      when greater-than $memory 3000 time-range 5m;

  • 大于或等于 – 与大于相同,但检查 大于 或等于 (>=)

  • 小于

    • 返回:真或假

    • 语法:小于 <LHS> <RHS> [时间范围<范围>]

    • 例子: //Memory < 6000 MB in the last 5 minutes

      when less-than $memory 6000 time-range 5m;

  • 小于或等于 – 与小于相同,但检查 小于 或等于 (<=)

  • 等于 – 用于检查一个值是否等于另一个值。

    • 返回:真或假

    • 语法:等于 <LHS> <RHS> [时间范围<范围>]

    • 例子: //Queue’s buffer utilization % == 0 

      when equal-to $buffer-utilization 0;

  • 不等于 – 与 等于 相同,但检查负条件 (!=)

  • exists – 用于检查某个值是否存在,而不关心值本身。这意味着应该从设备发送一些值。

    • 返回:真或假

    • 语法:存在<$var> [时间范围<范围>]

    • 例子: //Has the device configuration changed? 

      when exists $netconf-data-change

  • matches-with(用于字符串和正则表达式)–用于使用 Python 正则表达式操作检查字符串上的匹配项。有关详细信息 ,请参阅语法

    注意:

    LHS,或左侧,是我们正在搜索的字符串;RHS 或右侧是匹配表达式。正则表达式只能在 RHS 中使用。

    • 返回:真或假

    • 语法:匹配 <LHS> <RHS> [时间范围<范围>]

    • 例子: //Checks that ospf-neighbor-state has been UP for the past 10 minutes

      when matches-with $ospf-neighbor-state “^UP$” time-range 10m;

    示例 1:转义反斜杠“\”,再增加一个反斜杠“\”

    escape \ with one more \

    示例 2: escape \ with one more \

  • does-not-match-with(对于字符串和正则表达式)–与 matches-with 相同,但检查负面条件

  • 范围 - 检查值 X 是否在给定范围内,例如最小值和最大值(最小值 <= X <= 最大值)

    • 返回:真或假

    • 语法:范围 <$var> 分钟<最小值><最大值最大值> [时间范围<范围>]

    • 例子: //Checks whether memory usage has been between 3000 MB and 6000 MB in the last 5 minutes

      when range $mem min 3000 max 6000 time-range 5m;

  • 按最小值递增 – 用于检查与前一个值相比,值是否至少增加了可接受的最小速率。可以提供定义可接受的最小增长率的可选参数。如果未指定,则可接受的最小增长率默认为 1。

    • 返回:真或假

    • 语法:

      按最小值递增<$var> [增量<连续点之间增加的最小值>]

      按最小值递增<$var> [增量<连续点之间增加的最小值>] 时间范围<范围>

    • 例子: Checks that the ospf-tx-hello has been increasing steadily over the past 5 minutes.

      when increasing-at-least-by-value $ospf-tx-hello increment 10 time-range 5m;

  • 最多按值递增 – 用于检查与前一个值相比,值增加的速度是否不超过最大可接受速率。可以提供定义最大可接受增长率的可选参数。如果未指定,则最大可接受增长率默认为 1。

    • 返回:真或假

    • 语法:

      按值递增<$var> [增量<连续点之间增加的最大值>]

      按值递增 <$var> [增量<连续点之间增加的最大值>] 时间范围<范围>

    • 例子: Checks that the error rate has not increased by more than 5 in the past 5 minutes.

      when increasing-at-most-by-value $error-count increment 5 time-range 5m;

  • 按最小速率递增 – 用于检查连续值之间的增长率是否至少为给定速率。必需参数包括值和时间单位,它们共同表示可接受的最小增长率。

    • 返回:真或假

    • 语法:

      此语法将当前值与以前的值进行比较,确保它至少按值率增加。

      最小递增速率<$var>值<连续点之间增加的最小值>每<秒|分钟|小时|天|周|月|年> [时间范围<范围>]

      此语法将当前值与以前的值进行比较,确保它至少按百分比增加

      按最小速率递增 <$var> 百分比 <百分比> <秒|分钟|小时|天|周|月|年> [时间范围<范围>]

    • 例子: Checks that the ospf-tx-hello has been increasing strictly over the past five minutes.

      when increasing-at-least-by-rate $ospf-tx-hello value 1 per second time-range 5m;

  • 最多速率递增 – 与按最小速率递增类似,不同之处在于这会检查速率是否降低。

when 子句中使用这些运算符将创建一个称为用户定义条件的函数。这些函数应始终返回 true 或 false。

如果对项的计算结果匹配,则执行 Then 子句中指定的操作。默认情况下,术语的处理此时停止。您可以通过启用 Then 子句底部的“评估下一个术语”按钮来更改此流程。这会导致 Paragon Insights 继续术语处理,以创建更复杂的决策功能,例如何时进行这个和这个,然后那个。

以下是可在 “然后” 部分使用的预定义操作的列表:

  • 地位

标记

从版本 3.1.0 开始,HealthBot 支持标记。通过标记,您可以在满足特定条件时将字段、值和键插入 Paragon Insights 规则中。有关详细信息,请参阅 Paragon Insights 标记

规则属性

规则属性块允许您指定 Paragon Insights 规则的元数据,例如硬件依赖关系、软件依赖关系和版本历史记录。这些数据可用于提供信息或验证设备是否与 Paragon Insights 规则兼容。

行动前/行动后

(可选)从 Paragon Insights 4.3.0 版开始,您可以使用规则中的操作前和操作后选项卡来自动执行操作引擎工作流程中预先配置的任务。操作引擎工作流用于执行可作为命令行命令、NETCONF 命令或可执行文件中的命令执行的任务。有关更多信息 ,请参阅了解操作引擎工作流

在设备组上运行 playbook 实例时,Paragon Insights 会在 playbook 实例化开始时执行操作前任务。操作前任务可用于执行设备组中的设备配置或向其他应用程序发出有关设备状态的通知。多个操作前任务之间以及操作前任务和规则的执行之间不存在依赖关系。如果您在一个规则中配置多个操作前任务,Paragon Insights 会同时执行所有操作前任务。

Paragon Insights 会在您停止 playbook 实例时执行操作后任务。即使为可选配置,操作后任务也可用于删除通过操作前任务添加到设备的任何其他配置。

操作前和操作后任务都具有执行一次选项。默认情况下,执行一次处于禁用状态。如果启用执行一次,则 Paragon Insights 只会在设备组中的设备上执行一次任务。执行一次适用于以下情况:

  • 在同一设备组上运行剧本的多个实例时。

  • 在不同的 playbook 中包含包含一组操作前或操作后任务的规则,并在同一设备组上运行 playbook 实例时。

Paragon Insights 会先检查并解决操作前和操作后任务的重复问题,然后再在设备组中的设备上执行这些任务。当您在剧本中包含的许多规则中配置特定的操作前或操作后任务时,会发生重复。

注意:

升级 Paragon Insights 时,应用程序不会执行在升级之前部署的操作前和操作后任务。

要在规则中配置操作前任务和操作后任务,请参阅 Paragon Insights 规则和操作指南

每个设备多个传感器

Paragon Insights 4.0.0 版允许您为每个规则添加多个传感器,这些传感器可应用于设备组中的所有设备。在早期版本中,每个规则只能添加一个传感器。每个规则的每个传感器都会在字段表中生成数据。如果在多个规则中添加了不同的传感器,则生成的字段表数与规则数一样多。在 Paragon Insights 的单个规则中添加多种类型的传感器(例如 OpenConfig 或本机 GPB)时,来自传感器的数据将合并到一个字段表中,该表更易于导出或可视化。对多个传感器配置的 GUI 支持将在后续版本中实现。

指引

SP 管理员或具有创建访问权限的用户在配置多个传感器时必须遵守以下准则。

  • 向规则添加多个传感器时,必须确保没有从应用于设备的传感器接收重叠的数据或密钥集。重叠的关键集可能导致重复的数据点、覆盖数据点和对数据的评估不准确。若要避免这种情况,可以使用筛选器表达式,例如where“字段”中的语句。

  • 在 Paragon Insights GUI 的规则中添加多个传感器时,必须在以下字段中为所有传感器设置通用值:

    • “传感器”选项卡中的频率字段(传感器频率)

    • “规则”页中的字段聚合时间范围字段

    • “触发器”选项卡中的频率字段。

    • 触发器、公式和引用中使用的时间范围字段。

    例如,在规则中添加多个传感器时,无论传感器的类型如何,应用于设备的所有传感器都必须具有相同的传感器频率值。如果规则具有 iAgent 和 OpenConfig 传感器,则两个传感器中的 “频率” 值必须相同。这适用于上面列出的所有字段。

    注意:

    如果无法匹配不同传感器上的时间范围值,建议使用偏移值。有关更多信息,请参阅 频率曲线和偏移时间

    但是,您在频率配置文件中设置的频率将覆盖在规则中的多个传感器中设置的频率值。

  • 具有多个传感器的规则将应用于特定设备组中添加的所有设备。假定设备组中的设备支持 Paragon Insights 规则中使用的传感器类型。

    有时,并非设备组中的所有设备都可以支持相同类型的传感器。例如,设备组 DG1 有一个安装了 OpenConfig 软件包的 MX2020 路由器,另一个配置了没有 OpenConfig 软件包的 MX2020 路由器。第一个 MX2020 路由器将支持 OpenConfig 传感器,而第二个 MX2020 路由器将不支持相同的传感器。

    若要避免此类情况,必须确保同一设备组中的所有设备一致支持用于收集信息的传感器类型。

在 Paragon Insights GUI 中配置多个传感器

要在规则中添加多个传感器:

  1. 导航到“ 配置>规则”>“添加规则”。

    此时将显示“规则”页。

  2. 输入 Paragon Insights 主题和规则名称、规则描述、概要,还可以选择字段聚合时间范围和规则频率。有关“规则”页面中这些字段的更多信息,请参阅 Paragon Insights 规则和操作指南

  3. 单击“传感器”选项卡中的 “添加 传感器”按钮,然后根据所选的 传感器 类型填写必要的详细信息。

    重复步骤 3,根据用例添加任意数量的传感器。

  4. 在字段选项卡中配置传感器的 字段

  5. 在“规则属性”选项卡中配置传感器以将多个传感器设置为活动状态。

    必须在“规则属性”的“受支持设备”层次结构下输入之前在规则中配置的所有传感器。例如,如果在规则中配置了传感器 s1、s2 和 s3,则“规则属性”配置还必须包含相同的传感器:

    您还可以在 Paragon Insights GUI 中编写和上传新规则。

    规则必须遵循大括号格式 ( { ) 和缩进的层次结构。配置层次结构中的终止语句或叶语句以尾随分号 (;)显示,用于定义配置详细信息,例如支持的版本、传感器和其他配置语句。

  6. 单击“保存和部署”以在网络中应用新传感器,或单击保存”以保存新传感器的配置并在以后部署

用例

以下方案说明了规则中多个传感器的用例:

  • 在 Pathfinder 控制器中,可以有不同的本机传感器为分段路由 (SR) 和资源预留协议 (RSVP) 标签交换路径 (LSP) 提供非重叠的计数器详细信息。如果需要合并从 LSP 收集的数据的字段表,则可以在同一规则中为设备激活多个传感器。

  • 如果要获取使用 iAgent 传感器的接口和使用fe本机 GPB 传感器的接口的数据ge,则可以对设备使用多个活动传感器。在这种情况下,您需要通过使用字段筛选表达式按接口名称进行筛选来确保数据不重叠。除了界面,sp-admin 或具有创建访问权限的用户也可以考虑任何其他关键性能指标。

传感器优先级

若要使从传感器收集数据有效,设备组中的设备必须支持将特定传感器作为引入方法。选择运行旧版本操作系统的设备组中的设备、设备组中不同供应商的设备或同一供应商的不同产品(如瞻博网络的 EX、MX 和 PTX 路由器)都是可能导致将传感器应用于设备组的挑战的方案。在这种情况下,您需要设置与设备组中特定设备兼容的其他传感器。

Paragon Insights 4.0.0 版允许您设置传感器优先级,以便在规则属性的每个层次结构中配置不同的传感器,例如供应商名称、操作系统、产品名称、平台和发布版本。这样就可以在异构设备组中的多供应商设备上应用合适的传感器。在 4.0.0 版中,只能通过 Paragon Insights CLI 配置传感器优先级。从 Paragon Insights 4.2.0 版开始,您可以为一个规则配置多个传感器。有关更多信息,请参阅 Paragon Insights 规则和剧本

图 1 说明了两个规则,每个规则具有多个传感器。假定规则属性配置为传感器优先级。

图 1:规则 Representation of Sensor Precedence in Rules中传感器优先级的表示形式

假设规则 1 中的传感器 1 是 OpenConfig,规则 2 中的传感器 4 是 iAgent,设备 1 运行 Junos 操作系统 (OS)。如果在规则属性中将 OpenConfig 和 iAgent 设置为Junos OS 层次结构的默认传感器,则在为设备组部署 Playbook 时,设备 1 将从传感器 1 和传感器 4 接收数据。

开始之前

在 Paragon Insights 的独立部署中,在配置传感器优先级之前,必须使用以下字段配置设备组中的设备:

  • Vendor nameParagon Insights 4.0.0 版支持多家供应商,包括瞻博网络、Cisco Systems、Arista Networks 和 PaloAlto Networks。

  • Operating system:Junos、IOS XR 等供应商支持的操作系统名称。

  • Product:供应商提供的产品(设备)系列的名称。例如,瞻博网络的 MX 路由器、ACX 路由器、PTX 路由器。

  • Platform:系列产品中的特定成员设备。例如 MX2020、ACX5400 等。

  • Release or version:所选平台的发布版本。

设备层次结构中上述字段的配置必须与“规则属性”中指定的传感器优先级匹配。例如,如果在设备配置中包含平台 MX2020,则传感器优先级层次结构还必须包括 MX2020。

传感器优先级配置

以下是在规则属性中设置传感器优先级的示例配置。

传感器优先级要求更改规则属性中的当前配置层次结构。以下元素的层次结构在 Paragon Insights 4.0.0 版中已更改。规则属性中所列元素的旧层次结构已弃用。

  • Releases:在 下定义的Releases旧语句层次结构,列在“版本”下ProductPlatform。此层次结构已弃用。

  • 操作系统:旧的状态层次结构将操作系统定义为其他供应商的叶元素。此顺序已弃用。

Paragon Insights 剧本

为了充分了解网络上的任何给定问题或情况,通常需要查看许多不同的系统组件、主题或关键性能指标 (KPI)。Paragon Insights 基于剧本进行操作,剧本是用于解决特定用例的规则集合。 Playbook 是在您的设备组或网络组上应用或运行的 Paragon Insights 元素。

Paragon Insights 附带一套预定义的 剧本。例如,系统关键绩效指标操作指南监视系统参数(如系统-CPU-负载-平均值、存储、系统-内存、进程-内存等)的运行状况。然后,它会通知操作员或采取纠正措施,以防任何 KPI 超过预设阈值。以下是瞻博网络提供的剧本列表。

  • BGP-session-stats

  • 路线摘要剧本

  • LLDP 剧本

  • 接口 KPIS-playbook

  • 系统-KPI-playbook

  • Linecard-KPIS-playbook

  • 机箱 KPI 剧本

您可以创建剧本并在其中包含所需的任何规则。将这些操作指南应用于设备组。默认情况下,Playbook 中包含的所有规则都将应用于设备组中的所有设备。目前无法更改此行为。

如果您的 playbook 定义包含网络规则,则该 playbook 将成为网络操作指南,并且只能应用于网络组。

版本历史记录表
释放
描述
4.2.0
从 Paragon Insights 4.2.0 版开始,您可以为一个规则配置多个传感器。
4.0.0
Paragon Insights 4.0.0 版允许您为每个规则添加多个传感器,这些传感器可应用于设备组中的所有设备。
4.0.0
Paragon Insights 4.0.0 版允许您设置传感器优先级,以便在规则属性的每个层次结构中配置不同的传感器,例如供应商名称、操作系统、产品名称、平台和发布版本。
3.1.0
从 HealthBot 3.1.0 版开始,可以根据条件标记配置文件将常规字段和键字段添加到规则中。
3.1.0
从版本 3.1.0 开始,HealthBot 支持标记。