Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

AOSOM-Streaming 指南

AOSOM-Streaming 概述

注意:

AOSOM 流式处理是演示软件,不适用于生产环境。

您可以将 Apstra 配置为为计数器数据 (perfmon)、提醒和事件生成 Google Protocol Buffe (protobuf) 流。每种数据类型都通过其自己的 TCP 套接字发送到流式传输接收器。即使为同一个流式传输接收器配置了所有三种数据类型,也会在 Apstra 服务器和流接收器之间创建三个连接。这也允许将所有三种类型发送到三种不同的流接收器。您可以从众多开源项目中进行选择,也可以开发自己的解决方案来捕获、存储和检查 protobuf 数据。Apstra 在 GitHub 上开发了一个名为 AOSOM-Streaming 的项目,用于演示如何使用多个开源组件实现这一点。AOSOM-Streaming 项目旨在帮助您了解如何使用 AOS protobuf 流。它仅用于演示目的,Apstra Telegraf 输入插件除外。Apstra 软件完全支持此插件,可将其用作流遥测解决方案的一部分。

Aosom Streaming 项目提供了一个打包式解决方案,用于收集和可视化来自 Apstra 服务器的遥测流信息。这提供了 Web 界面体验和示例查询来处理警报、计数器和 Apstra 事件。这个开源项目 正式存在于 https://github.com/Apstra/aosom-streaming 年的 Github 上。

一揽子解决方案包括:

  • 基于 Grafana 的图形界面(端口 3000)
  • Prometheus for Counters and Alerts(端口 9090)
  • Influxdb for Events(端口 8086)
  • 2 个收集器,每个基于 Telegraf 的数据库一个。

格拉法纳

在 Web 浏览器中,输入 URL http://<aosom-streaming>:3000 ,然后输入用户名 admin (默认)和密码 admin (默认)。

grafana GUI 包括两个主要部分(左上角)。 Apstra AOS 蓝图 描述了整体遥测警报和流量吞吐量,以及用于接口遥测的单个设备。使用 Apstra“telegraf”Docker 容器自动学习蓝图;无需进一步配置。

在上面的屏幕截图中,我们可以观察演示 Apstra 环境中的流量,并汇总 CPU、流量和错误。

要基于特定设备和单个设备过滤遥测事件,请将顶部的仪表板更改为 Apstra AOS 设备。在这里,我们可以观察到蓝图中有两个活动路由异常,并且 Apstra 已收到两个叶交换机的遥测数据。

向下滚动以查看 CPU 和内存等设备统计信息:

普罗 米修斯

Prometheus 用于 Aosom 流式传输设备中的警报和设备遥测计数器存储。在 Web 浏览器中,输入 URL http://<aosom-streaming>:9090 以访问 Prometheus GUI。

当传入事件出现时,Apstra 会动态构建每个查询。若要查看示例查询名称,请在“execute”下开始键入。从“alert”(警报)开始,它会以选项卡完成 prometheus 从 Apstra 收到的可用警报。

下面是 BGP 邻居脱机的示例。

InfluxDB的

InfluxDB 用于存储来自遥测流的 Apstra 事件。在 Web 浏览器中,输入 URL http://<aosom-streaming>:8083 以访问 InfluxDB。

我们可以通过查询显示可用的 influxdb 键,例如 show field keysshow measurements

一旦我们知道了测量值,我们就可以查看数据和键, 请从<测量值中选择 *> -- 在本例中,我们将捕获 LAG 接口状态。

注意:

开发 influx-db 应用程序超出了本文档的范围。

配置 Aosom-Streaming

若要将遥测流式处理配置为此项目的一部分,需要编辑 variables.env,运行 make start 文件并重新启动容器。无需配置 Apstra 服务器。有关启动、停止和清除数据的文档,请访问 https://github.com/Apstra/aosom-streaming

telegraf 项目连接到 Apstra API 并发布一个 IP:端口,Apstra 使用该端口将实时遥测数据流式传输回。

  1. 抄送variables.defaultvariables.env
  2. 配置 variables.env
    • AOS_SERVER - 向 aosom-streaming 服务器发送遥测数据的 Apstra 服务器的 IP 地址。
    • LOCAL_IP - 分配给 ens33(第一个以太网接口)的 IP 地址。在这种情况下,通过此 VM 上的 DHCP 来学习它。请参见 ip addr show dev ens33。GRAFANA 配置选项,用于指定 Grafana Web 界面的用户名和密码。
    • AOS_LOGINAOS_PASSWORDAOS_PORT - 您可以自定义用户名、端口和密码信息。
  3. 运行命令make start以设置项目,如果要进行配置更改,请运行make update

Apstra 服务器升级后重新配置 Aosom-streaming

升级 Apstra 服务器后,必须重新配置以确保正确的流连接。
  1. 如果您将 Apstra 服务器升级到其他虚拟机上(或者服务器 IP 地址因任何原因不同),请使用新的 Apstra IP 地址更新variables.env文件。
  2. docker ps运行命令以验证当前 Telegraf 容器映像是否与新 Apstra 版本的正确版本匹配。

    您可以在 Apstra Docker Hub 中查看不同的 Telegraf 版本。

  3. 如果需要,请修改docker-compose.yml文件并指向正确的 Docker 映像。
  4. 运行命令docker-compose up -d重新启动服务。
  5. docker ps运行命令以验证容器是否使用新映像运行。
    注意:

    如需有关安装哪个版本的帮助,或者对该过程有任何疑问,请联系 瞻博网络支持

构建 Aosom-Streaming VM(可选)

您可以构建自己的 Aosom 流式处理 VM,这是一个 Docker 容器。此步骤演示如何设置基本的 Docker 服务器。

安装 Ubuntu 16.04.2

下载 Ubuntu 16.04.2 ISO 并预配新的 VM。默认用户名是 aosom ,密码是 admin

对于较大的蓝图,我们建议将 RAM 更改为至少 8GB,将 CPU 更改为至少 2 个 vCPU。可能还需要更多的磁盘空间。

资源 数量
公羊 8GB
中央处理器 2 个 vCPU
网络 1 个 vNIC

安装软件包

基于 Ubuntu 16.04.2 安装所需的软件包。

更新系统以确保所有软件包都是最新的。

将 aosom 用户添加到 Docker 组。这允许“aosom”进行 Docker 配置更改,而无需升级到 sudo。

使用“git clone”复制 Aosom-streaming Docker 容器。

设置容器重启策略

AOSOM-Streaming 软件包未设置 Docker 重启策略;这取决于您的编排工具链。打开 aosom-streaming/docker-compose.yml 并添加到 restart: always 每个服务指令中。这可确保 Docker 容器在服务重新启动后处于联机状态。

variables.env根据 Aosom-Streaming 应用程序设置部分设置和启动容器。

更改系统主机名

修改 /etc/hostname 为 aosom,并将环路 IP 从 ubuntu 更改 /etc/hosts 为 aosom。

故障 排除

虽然大多数故障排除信息都包含在 https://github.com/Apstra/aosom-streaming 的 Github 主页中,但您可以运行一些简单的命令来确保环境正常运行。

检查从 Apstra 到 Aosom-streaming 的日志

运行 Docker 日志 aosomstreaming_telegraf-influx_1

当 AOS 上发生遥测事件时,您应该会看到一个蓝图 ID 和一些 influxdb“写入”事件 - BGP、活动性、配置偏差等。

确保容器正常运行

要查看并确保所有预期的容器都在运行,请运行 docker ps