实时嵌入式 Linux 可观测性,使用 Pantavisor 和 InfluxDB
作者:社区 / 产品, 使用案例
2022 年 10 月 24 日
导航至
本文最初发布于 HackMD,经许可在此转载。
目前,组织机构无法实时监控数百万个嵌入式 Linux 设备。由于架构和设备类型繁多,聚合遥测数据和指标并在集中式分析工具中查看这些数据存在问题。
将嵌入式 Linux 设备加入遥测服务以便轻松观察指标是一项重大挑战。但现在,您可以使用 Pantavisor 驱动的设备和 InfluxDB 的 Telegraf 插件,自动快速地加入大型 IoT 设备群,并以最少的努力将指标流式传输到集中式监控仪表板。
本文介绍了如何加入和配置设备以使用 Telegraf 插件服务来监控 Pantavisor 驱动的嵌入式 Linux 设备群。借助 Pantacor Hub 自动获取 InfluxDB 凭据的单点登录流程,设备加入过程得到简化和加速。
Telegraf 和 Pantacor Hub 概述
Telegraf 是一个开源服务器代理,用于从您的堆栈、传感器和系统收集遥测数据和其他指标。Pantacor Hub 是我们的开源 SaaS,用于远程设备固件和软件生命周期管理以及云服务集成。
我们将 telegraf 插件容器化,并使其作为 Pantacor Hub 的一项服务提供。Telegraf 将指标发送到任何 InfluxDB 服务器,包括本地部署、云或托管。在本指南中,我们将使用 https://cloud2.influxdata.com/ 上的 InfluxDB 云服务。
如何将启用 Pantavisor 的设备与 InfluxDB 集成
1. 创建 Pantacor Hub 帐户
转到 https://hub.pantacor.com/signup,然后按照步骤创建帐户。
2. 使用 Pantavisor 刷写新设备
接下来,从 https://hub.pantacor.com/download-image 中选择您正在使用的设备的镜像。
对于 Raspberry Pi 3 或 Raspberry Pi 4,推荐的镜像为 arm-rpi64 (pantahub-ci/rpi64_initial_stable)。
下载镜像后,使用 Raspberry Pi Imager 或 Balena Etcher 将其刷写到您的设备上。
您的设备现在将运行 Pantavisor。设备启动后,您将能够在 Pantacor Hub 仪表板上的设备列表中看到它。
注意:如果您的 Raspberry Pi 未通过以太网电缆直接连接到互联网,您将需要通过我们的强制门户配置 WiFi 连接,然后才能连接到 Pantacor Hub。
请参阅 启动启用 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”),然后复制令牌并将其保存在安全的地方。
6. 设置 Influx 以接收设备数据
为了让 InfluxDB 保存设备数据,我们需要创建一个存储桶并为帐户中所有设备的数据指定值。
由于 Pantavisor 只是一个 Linux 系统,您可以使用 InfluxDB 中的 Linux 系统模板,网址为
https://github.com/influxdata/community-templates/tree/master/linux_system
要实施该模板,请转到“设置 - 模板”并添加此模板
单击查找模板,它会自动设置所需的一切。
7. 将您的 InfluxDB 帐户连接到您的 Pantacor 帐户
接下来,将 InfluxDB 令牌连接到您的 Pantacor Hub 帐户。为了实现这一点,我们将使用 sm.pantacor.com 应用程序。
此应用程序使您能够在连接到 InfluxDB 后,连接和设置设备的必要 user-meta(或 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。
添加这些值后,我们将编写一个类似于这样的 JSON 文件
{"bucket": "telegraf", "org": "34655d0049224811"}
8. 使用 PVR 安装 Telegraf 容器
首先,从 hub.pantacor.com 仪表板中找到设备,然后从设备摘要中复制克隆 URL。该 URL 看起来类似于这样
https://pvr.pantahub.com/highercomve/one_marketplace_development
获得设备克隆 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 监控它们所需的一切。
9. 使用 InfluxDB 监控设备
现在您已经安装了 telagraf 容器,请转到 InfluxDB 仪表板以查看您的设备监控信息。
转到“仪表板 - Linux 系统”
现在您可以享受您的新设备指标了!
最终想法
本文介绍了如何设置嵌入式 Linux 设备以与 Telegraf 和 InfluxDB 配合使用,从而流式传输指标以进行实时监控。
如果您有任何问题或意见,请在我们的社区论坛上与我们联系:https://community.pantavisor.io
请参阅我们的网站以获取有关 Pantavisor 和 Pantacor 博客 的更多信息