Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装数据收集器以进行分析

概述

分析功能通过数据收集器将数据从网络设备流式传输到 NorthStar 控制器,在那里对其进行处理、存储并可在 Web UI 中查看。

注意:

有关收集和查看遥测数据的信息,请参阅 NorthStar 控制器用户指南

注意:

需要使用 Junos OS 15.1F6 或更高版本才能使用分析。有关分析节点的硬件要求,请参阅 NorthStar 控制器系统要求。有关支持的部署方案,请参阅 平台和软件兼容性

如果您未使用 NorthStar 应用程序高可用性 (HA),则可以在安装 NorthStar 控制器应用程序的同一节点(单服务器部署)中或在一个或多个专用于日志收集和存储的外部节点中安装数据收集器。在这两种情况下,提供的安装脚本都会负责安装所需的包和依赖项。

在 NorthStar 应用程序高可用性环境中,您有三个选项:

  • 配置外部分析节点。

  • 配置外部分析群集。分析群集在分析节点发生故障时提供备份节点。此群集可以是本地群集(在同一数据中心内)或地理多样性群集(分析地理 HA)。

  • 在组成 NorthStar 群集的相同节点中安装数据收集器。在此方案中,NorthStar 应用程序群集节点也是分析群集节点。

分析过程中的配置选项是从 /opt/northstar/data/northstar.cfg 文件中读取的。在单服务器部署中,不需要进行特殊更改,因为启动收集器所需的参数是默认配置的一部分。 表 1 列出了分析过程从文件中读取的一些设置,供您参考。

表 1:收集器进程读取的一些设置

设置

描述

mq_host

指向运行消息传递总线服务的主机(NorthStar 应用程序节点)的 IP 地址或虚拟 IP (VIP)(用于多个 NorthStar 节点部署)。如果不存在,则默认为 localhost

mq_username

用于连接到消息传递总线的用户名。默认为 northstar

mq_password_enc

用于连接到消息传递总线的密码。没有默认值;如果未配置此功能,则服务将无法启动。在单服务器部署中,密码是在正常的应用程序安装过程中设置的。

mq_port

消息总线使用的 TCP 端口号。默认为 5672

es_port

Elasticsearch 使用的 TCP 端口。默认为 9200

es_cluster_name

由 Elasticsearch 在高可用性场景中用于形成集群。必须使用相同的群集名称配置同一群集中的节点。默认为 NorthStar

另外两个设置与收集器进程相关,但不是 northstar.cfg 的一部分。这些参数配置分析端口号,可使用 NorthStar CLI 进行配置:

注意:

如果更改端口号,则必须使用 重新启动 supervisorctl restart analytics:logstash logstash 才能使这些更改生效。

  • rpm-statistics-port

    端口,用于读取从设备生成的系统日志消息,其中包含 RPM 统计信息的结果。默认值为 1514。要修改端口,请使用 NorthStar CLI 命令 set northstar analytics log-collector rpm-statistics-port port-number

  • JTI 端口

    收集器侦听来自设备的遥测数据包的 UDP 端口号。默认值为 3000。要修改端口,请使用 NorthStar CLI 命令 set northstar analytics log-collector jti-port port-number

注意:

如果要从早于 NorthStar 4.3.0 的版本升级 NorthStar,并且使用的是 NorthStar 分析,则必须使用从 4.3 之前的 NorthStar 使用分析升级中所述的过程手动升级 NorthStar。

注意:

如果要从早于 NorthStar 6.0.0 的版本升级 NorthStar,则必须在升级 NorthStar 应用程序节点后重新部署分析设置。这是从本主题后面介绍的分析数据收集器配置设置菜单中完成的。这是为了确保 netflowd 可以与 cMGD(NorthStar CLI 所必需的)通信。

分析地理高可用性

从版本 5.1.0 开始,NorthStar 控制器支持分析异地高可用性。虽然原始分析 HA 是为本地群集(同一数据中心)设计的,但 geo-HA 使所有节点上的所有数据都可用,以便更好地为节点在地理位置上彼此相距甚远的网络提供服务。为了实现这一点,在每个分析(ElasticSearch)节点上安装了一个本地的RabbitMQ(消息传递总线)。这提高了对延迟的容忍度,并有助于补偿远程节点变得不同步的趋势。

远程 ElasticSearch 节点使用 JTI logstash 来检索和处理来自其他 ElasticSearch 节点的数据。复制管道在每个远程服务器上创建一个命名队列。队列是永久性的,因此,如果任何 ElasticSearch 节点出现故障,它可以通过恢复对推送到远程队列的数据的处理来恢复。 图 1 显示了节点内和节点之间的交互。

图 1:分析地理高可用性交互 Analytics Geo-HA Interactions

net_setup.py 脚本中的“分析收集器配置设置”菜单具有用于准备和部署 Geo-HA 的选项。

单服务器部署 – 无 NorthStar HA

要在单服务器部署(无 NorthStar HA)中将数据收集器和 NorthStar 应用程序一起安装,请按下列步骤操作:

  1. 在 NorthStar 应用程序节点上,使用 install.sh 脚本安装 NorthStar 控制器捆绑包。请参阅 安装 NorthStar 控制器

  2. 在同一节点上,运行 install-analytics.sh 脚本。

  3. 通过在 PC 服务器上执行 supervisorctl status 来验证是否已安装并运行三个分析进程:

外部分析节点 – 无 NorthStar HA

图 2 显示了一个配置示例,其中包含一个 NorthStar 应用程序节点和三个组成分析群集的分析节点。所有节点都通过 eth1 接口连接到同一个以太网网络。(可选)您可以拥有单个分析节点,而不是创建分析群集。本节中的说明涵盖单个外部分析节点和外部分析群集。

图 2:分析群集部署(无 NorthStar HA) Analytics Cluster Deployment (No NorthStar HA)

要安装一个或一组外部分析节点,请使用以下过程:

  1. 在 NorthStar 应用程序节点上,使用 install.sh 脚本安装 NorthStar 控制器应用程序。请参阅 安装 NorthStar 控制器

  2. 在每个分析节点上,安装 northstar_bundle.rpm,但不运行 install.sh 脚本。相反,请运行 install-analytics.sh 脚本。该脚本将安装所有必需的依赖项,例如 NorthStar-JDK、NorthStar-Python 等。对于 NorthStar Analytics1,其外观如下所示:

  3. 接下来的配置步骤要求您运行 net_setup.py 脚本来配置 NorthStar 节点和分析节点,以便它们可以相互连接。但在此之前,我们建议您将要执行 net_setup.py 脚本的节点的公有 SSH 密钥复制到所有其他节点。可以在 NorthStar 应用程序节点或其中一个分析节点上运行 net_setup.py 脚本来配置所有节点。这不是必需的步骤,但它可以节省以后在脚本部署配置或测试与不同节点的连接时键入所有系统的密码的时间。

    尝试使用 登录 ssh root@192.168.10.200 计算机并使用 签入 .ssh/authorized_keys

    对所有节点(在我们的示例中为 192.168.10.100、192.168.10.200、192.168.10.201 和 192.168.10.202)重复此过程。

  4. 在 NorthStar 应用程序节点或其中一个分析节点上运行 net_setup.py。主菜单显示:

  5. 选择 G “分析数据收集器设置”。将显示“数据收集器配置设置”菜单。

  6. 从“数据收集器配置设置”菜单中选择选项以进行以下配置更改:

    • 选择此选项 3 可修改 NorthStar 应用程序节点设置,并配置 NorthStar 服务器名称和 IP 地址。例如:

    • 选择此选项 4 可修改分析节点 IP 地址。例如:

    • 选择 2 以根据需要添加其他分析节点。在我们的分析群集示例中,将添加两个额外的分析节点:

    • 选择此选项 8A 可为分析节点群集配置 VIP 地址。如果您有分析群集,则这是必需的。如果只有一个外部分析节点(不是群集),则可以跳过此步骤。

      此 VIP 有两个目的:

      • 它允许 NorthStar 服务器将查询发送到单个端点。VIP 将在其中一个分析节点上处于活动状态,并在发生故障(全节点故障或分析节点上运行的任何进程出现故障)时切换。

      • 设备可以将遥测数据发送到 VIP,确保如果分析节点发生故障,遥测数据仍可由取得 VIP 所有权的非故障节点进行处理。

    分析群集示例的配置现在应如下所示:

  7. 选择此选项 9 可测试节点之间的连接。这适用于您拥有外部分析节点(无论是只有一个节点还是其中一个群集)的情况。例如:

  8. 选择(对于单个分析节点)、 B (对于分析群集)或C对于分析地理 HA,以A配置要部署的节点。

    注意:

    此选项将重新启动 NorthStar 应用程序节点中的 Web 进程。

    对于我们的示例,请选择 B

    这样就完成了安装,遥测数据现在可以通过分析 VIP 发送到分析节点。

    注意:

    如果选择将遥测数据发送到单个节点,而不是使用分析群集的 VIP,并且该节点出现故障,则到该节点的流将丢失。如果您选择仅安装一个分析节点,而不是使用 VIP 的分析集群,则会遇到相同的风险。

外部分析节点 – 使用 NorthStar HA

图 3 显示了一个示例配置,其中包含一个包含三个节点的 NorthStar HA 群集和由一个分析群集组成的三个分析节点,总共六个节点。所有节点都通过 eth1 接口连接到同一个以太网网络。在 NorthStar HA 环境中,您还可以选择使用单个分析节点(总共四个节点),但如果分析节点发生故障,分析收集将不受保护。

图 3:分析群集部署(使用 NorthStar HA) Analytics Cluster Deployment (With NorthStar HA)

对于此方案,您首先根据 配置 NorthStar 群集以实现高可用性中的说明配置 NorthStar 应用程序 HA 群集。

配置 NorthStar HA 群集后,设置外部分析群集。外部分析群集的设置步骤与上一节 外部分析节点 – 无 NorthStar HA 中的步骤完全相同。完成这些操作后,配置应如下所示:

通过从菜单中选择来 9 测试节点之间的连接。

通过选择 B HA 分析或 C Geo-HA 分析来配置要部署的节点。这将重新启动 NorthStar 应用程序节点中的 Web 进程。

在具有外部分析节点时验证数据收集

通过检查所有服务是否都在运行来验证数据收集是否正常工作。下面仅显示相关流程。

分析节点应开始处理来自网络的所有记录,并通过 RabbitMQ 将统计信息推送到 NorthStar 节点。检查 NorthStar 节点中的 pcs.log,查看推送到 PC 服务器的统计信息。例如:

还可以使用 REST API 获取一些聚合统计信息。这将测试从客户端到 nodejs 再到 Elasticsearch 的路径。

替换外部分析群集中的故障节点

在“数据收集器配置设置”菜单上,在物理替换故障节点时,可以使用选项 D 和 E。它们允许您替换节点,而无需重新部署整个群集。

谨慎:

在三节点群集中替换节点时,无法保证分析数据的 HA。

  1. 更换网络中的物理节点,并在替换节点上安装 northstar_bundle.rpm。在我们的示例中,替换节点是 NorthStarAnalytics3。

  2. 运行 install-analytics.sh 脚本以安装所有必需的依赖项,例如 NorthStar-JDK、NorthStar-Python 等。对于 NorthStarAnalytics3,它看起来像这样:

  3. 设置从锚节点到替换节点的 SSH 密钥。锚点节点可以是 NorthStar 应用程序节点,也可以是其中一个分析群集节点(替换节点除外)。将公有 SSH 密钥从锚点节点复制到替换节点,从替换节点复制到其他节点(NorthStar 应用程序节点和分析群集节点),从其他节点(NorthStar 应用程序节点和分析群集节点)复制到替换节点。

    例如:

    尝试使用 登录 ssh root@192.168.10.202 计算机并使用 签入 .ssh/authorized_keys

  4. 在所选节点上运行 net_setup.py。主菜单显示:

  5. 选择 G “数据收集器设置”。将显示“数据收集器配置设置”菜单。

  6. 选择选项 9 以测试与所有 NorthStar 应用程序节点和分析群集节点的连接。

  7. 选择选项 D 以将分析设置复制到其他节点。

  8. 选择选项 E 以将替换节点添加到群集。指定替换节点的节点 ID。

  9. 在任何分析集群节点上,使用以下命令检查 Elasticsearch 集群状态。验证状态是否为“绿色”且节点数是否正确。

安装在 NorthStar HA 群集节点上的收集器

在 NorthStar HA 环境中,通过将 NorthStar 群集中的每个节点也设置为分析节点,可以同时为 NorthStar 应用程序和分析实现故障转移保护。由于 NorthStar 群集外部没有任何内容,因此您的节点总数为 NorthStar 群集中的数量(最少三个)。 图 4 显示了此安装方案。

图 4:具有分析功能的 NorthStar HA Cluster Nodes with Analytics NorthStar HA 群集节点

若要设置此方案,请首先在每个独立节点上安装 NorthStar 应用程序和分析,将节点配置为 HA 群集,最后将节点配置为分析群集。请按照下列步骤操作:

  1. 在每个 NorthStar 应用程序节点上,使用 install.sh 脚本安装 NorthStar 控制器应用程序。请参阅 安装 NorthStar 控制器

  2. 在每个节点上,安装 northstar_bundle.rpm,然后运行 install-analytics.sh 脚本。该脚本将安装所有必需的依赖项,例如 NorthStar-JDK、NorthStar-Python 等。对于示例中的节点 ns03,它如下所示:

  3. 在每个节点上使用以下命令以确保已安装并运行三个分析进程:

  4. 按照配置 NorthStar 群集以实现高可用性 中的说明为 NorthStar HA 配置节点。这涉及运行 net_setup.py 实用程序,选择访问 E HA 设置菜单,以及使用该菜单完成 HA 设置步骤。

  5. 从 HA 设置菜单中,按 返回 Enter 主 net_setup.py 菜单。主菜单显示:

  6. 选择以 I 继续。此菜单选项应用您已经为 NorthStar HA 群集配置的设置,因此您无需进行任何更改。

    注意:

    根据节点的地理位置,您可能希望使用分析地理 HA,而不是设置内部分析。在这种情况下,您可以选择访问分析数据收集器配置设置,而不是G选择 I。更新这些设置后,选择(C准备和部署 GEO-HA 分析数据收集器设置)。下面的步骤7将不适用。

  7. 选择以 1 设置 NorthStar HA 群集进行分析。

  8. 在任何分析节点上,使用以下命令检查 elasticsearch 集群状态。验证状态是否为“绿色”且节点数是否正确。

日志故障排除

以下日志可用于帮助进行故障排除:

  • /opt/northstar/logs/elasticsearch.msg

  • /opt/northstar/logs/logstash.msg

  • /opt/northstar/logs/logstash.log

有关详细信息,请参阅 NorthStar 控制器用户指南中的日志