使用Pantavisor和InfluxDB实现实时嵌入式Linux可观测性

导航到

本文最初发布在HackMD上,经授权在此重发。

目前,组织无法实时监控数百万嵌入式Linux设备。由于存在许多不同的架构和设备类型,聚合遥测和指标并在集中式分析工具中查看这些数据是有问题的。

将嵌入式Linux设备纳入遥测服务以轻松观察指标是一个重大挑战。但如今,您可以使用Pantavisor和InfluxDB的Telegraf插件自动快速地将大型物联网设备集群纳入,并轻松地将指标流式传输到集中式监控仪表板。

本文将介绍如何将设备纳入Telegraf插件服务以监控由Pantavisor提供的嵌入式Linux设备集群。设备纳入过程通过单一登录流程简化并快速完成,其中Pantacor Hub自动获取InfluxDB凭据。

Telegraf和Pantacor Hub概述

Telegraf是一个开源服务器代理,用于从您的堆栈、传感器和系统中收集遥测和其他指标。Pantacor Hub是我们的开源SaaS产品,用于远程设备固件和软件生命周期管理以及云服务集成。

我们将telegraf插件容器化,并通过Pantacor Hub提供该服务。Telegraf将指标发送到任何InfluxDB服务器,包括本地、云或托管。在本指南中,我们将使用位于https://cloud2.influxdata.com/的InfluxDB云服务。

Telegraf and Pantacor Hub overview

如何将启用Pantavisor的设备与InfluxDB集成

1. 创建Pantacor Hub账户

访问https://hub.pantacor.com/signup并按照步骤创建账户。

2. 使用Pantavisor刷新新设备

接下来,从https://hub.pantacor.com/download-image中选择您所使用设备的镜像。

Download Pantavisor image

对于Raspberry Pi 3或Raspberry Pi 4,推荐使用的镜像为arm-rpi64 (pantahub-ci/rpi64_initial_stable)。

下载镜像后,您可以使用Raspberry Pi ImagerBalena Etcher将其烧录到设备中。

您的设备现在将运行Pantavisor。一旦设备启动,您将在Pantacor Hub仪表板上的设备列表中看到它。

注意:如果您的Raspberry Pi没有通过以太网线直接连接到互联网,您需要在连接到Pantacor Hub之前,通过我们的入口门户配置WiFi连接。

有关更多信息,请参阅启动启用Pantavisor的设备为Raspberry Pi设置WiFi门户

3. 安装PVR-CLI

PVR命令行界面使您能够通过安装新容器以及许多其他操作来管理您的设备。

有关安装PVR的说明请在此

您还可以观看此视频以指导您完成此过程:https://youtu.be/yyohtCcxtog

4. 在InfluxDB创建账户

前往 cloud2.influxdata.com 并按照步骤创建账户。

5. 为 Pantacor Hub 创建 InfluxDB API 令牌

进入 InfluxDB UI 后,选择左侧菜单中的“加载数据”然后“API 令牌”。通过选择“所有访问 API 令牌”创建新的令牌。设置描述(例如:“pantacor hub”)然后复制令牌并保存在安全的地方。

Create an InfluxDB API Token for Pantacor Hub

Generate All Access API Token

6. 设置 Influx 接收设备数据

为了使 InfluxDB 保存设备数据,我们需要创建一个桶并为账户中所有设备的数据指定值。

由于 Pantavisor 只是一个 Linux 系统,你可以使用 InfluxDB 在以下链接处的 Linux 系统模板

https://github.com/influxdata/community-templates/tree/master/linux_system

要实现该模板,请转到设置 - 模板,并添加此模板

https://raw.githubusercontent.com/influxdata/community-templates/master/linux_system/linux_system.yml

点击 查找模板,它将自动设置所需的一切。

Click Lookup Template to automatically set up everything

7. 将 InfluxDB 账户连接到 Pantacor 账户

接下来,连接 InfluxDB 令牌到您的 Pantacor Hub 账户。为此,我们将使用 sm.pantacor.com 应用程序。

此应用程序允许您在连接到 InfluxDB 后连接和设置设备所需的必要用户元数据(或 Pantacor Hub 中的配置参数)。

前往 sm.pantacor.com 并使用您的 Pantacor 账户凭据登录。接下来,从菜单中选择 已连接服务 添加新服务并填写以下字段。

  • 服务名称: InfluxDB Cloud Server(仅用于描述,可以是任何内容)
  • API URL:此 URL 将根据您创建 InfluxDB 账户时选择的服务器而变化。您可以在组织设置中查看“集群 URL(主机名)”以找到该 URL。URL 应类似于以下链接:https://us-east-1-1.aws.cloud2.influxdata.com
  • 令牌:您将在此处放置之前步骤中创建的令牌。
  • 密钥:由于 InfluxDB 不使用密钥,因此此字段将保持为空。
  • UserMeta JSON:这是一组初始值,将被注入到设备的配置中。

您还需要 InfluxDB 的组织 ID。您可以在组织设置中找到该 ID(与 API URL 相同的地方)作为组织 ID。

Organization Settings

添加这些值后,我们将编写一个类似于以下的 JSON 文件

{"bucket": "telegraf", "org": "34655d0049224811"}

8. 使用 PVR 安装 Telegraf 容器

首先,从 hub.pantacor.com 仪表板定位设备并复制设备摘要中的 CLONE URL。该 URL 将类似于以下链接

Install the Telegraf container with PVR

https://pvr.pantahub.com/highercomve/one_marketplace_development

一旦您有了设备的 CLONE URL,您就可以使用以下命令安装 telegraf 容器和其配置

DESTINATION_CLONE_URL="YOUR CLONE URL"
pvr fcp https://pvr.pantahub.com/asacasa/telegraf_arm64v8#telegraf,_config/telegraf ${DESTINATION_CLONE_URL}#telegraf,_config/telegraf

此命令将所有配置文件和 telegraf 容器复制到您的设备上。还会创建一个新的修订版,您可以在 hub.pantacor.com 仪表板中查看。

新修订版完成或更新后,您就有了一切所需内容来查看设备指标以及使用 InfluxDB 进行监控。

view the device metrics

9. 使用 InfluxDB 监控设备

现在您已安装了 telegraf 容器,请转到 InfluxDB 仪表板以查看您的设备监控信息。

转到仪表板 - Linux 系统

现在您就可以享受您的新设备指标了!

Monitoring devices with InfluxDB

总结

本文介绍了如何设置嵌入式 Linux 设备以与 Telegraf 和 InfluxDB 一起使用,以流式传输指标进行实时监控。

如果您有任何问题或评论,请通过我们的社区论坛 https://community.pantavisor.io 联系我们。

请参阅我们的网站,获取有关 PantavisorPantacor 博客 的更多信息