活动报名
消费电子产品的智能体升级之路 →

持续监控云端数据:利用 EMQX ECP 集中管理 EMQX 集群

EMQX Team
2024-11-19
持续监控云端数据:利用 EMQX ECP 集中管理 EMQX 集群

背景

EMQX ECP 作为工业互联数据平台,能够满足工业场景大规模数据采集、处理和存储分析的需求,是云边协作中的重要一环,它提供了对边缘端服务 NeuronEX 及云端 EMQX 集群的统一管理,确保了对数据采集、处理、传输环节的高效控制。

其中,EMQX ECP 的多集群管理功能在分租户、分项目的基础上实现,可以通过 K8s 快速创建新集群或纳管已有的集群,并对管理的集群进行统一的运维管理。

参考:云端集中管控边缘服务:利用 EMQX ECP 在 K8s 上快速部署 NeuronEX

本文将详细介绍如何使用 EMQX ECP 2.3.0 及以上版本,将已安装的 EMQX v5 企业版集群纳入管理,并对集群的数据进行持续监控。

功能原理

EMQX ECP 对 EMQX 集群的纳管,是通过 ECP 开发的集群代理应用 EMQX Agent 来实现。该代理应用作为 ECP 与纳管集群之间的桥梁,接收 ECP 端的配置及操作指令转发给集群,并收集集群的实时运维、指标数据至 ECP,形成完整的管理回路。

EMQX ECP 端收到集群的数据后,在 ECP 平台侧的运维面板中,从指标、告警、日志等多个维度监控被纳管的集群。同时,ECP 平台侧还提供 EMQX Dashboard 的入口,方便用户随时对集群进行更细致的操作和配置。

准备工作

1、部署 EMQX 企业版 5.7.0 或更高版本,确保 EMQX 集群所在服务器与 ECP 所在服务器之间可正常进行网络通信。

2、以系统管理员登录 ECP,或以具有组织/项目管理权限的用户身份登录。系统管理员可以对所有项目进行集群管理,非系统管理员只要具备某个组织/项目的管理权限,也可以在相应项目下纳管集群。

纳管步骤

纳管集群的操作分为三步:

1、创建集群纳管入口

2、下载并运行集群代理

3、注册集群代理至纳管入口

下面将分步骤具体进行介绍。

创建集群纳管入口

进入工作台,点击左侧菜单栏中的数据集成数据接入。在数据接入页面中,项目下所有已被 ECP 管理的集群将以卡片或列表方式进行展示。

`数据集成` → `数据接入`

点击页面右上角的纳管集群按钮,填写集群名称及集群服务地址。集群服务地址为需要被纳管的 EMQX 集群的 dashboard 访问地址,默认是 18083 端口。集群服务地址也可以稍后通过编辑操作来进行设置或修改。

确认完成后,数据接入页面中将新增一个纳管的集群,状态为“已创建”。后续 ECP 对 集群的管理都将使用它作为入口。

下载并运行集群代理

选择第 1 步创建好的集群,点击注册节点,页面右侧将展开集群注册引导说明,指引完成集群代理的下载、安装及注册。

集群代理需要安装在纳管的 EMQX 集群所在的服务器上,根据该服务器的 CPU 架构(AMD64、ARM32 或 ARM64)选择相应的二进制包,并按照引导中下载部分的说明,在目标服务器上依次拷贝相应命令,下载二进制包、设置执行权限、启动集群代理。

集群注册引导说明

集群代理成功启动后,将会在控制台上打印:EMQX Agent xxx is running!

后续也可以随时查看集群代理日志文件 /opt/emqx/log/agent.log 排查问题。

注册集群代理至纳管入口

引导节点配置部分帮助用户填写注册集群代理所需的信息。其中:

username 和 password 为登录 EMQX Dashboard 使用的用户名及密码。

dashboardUrl 为集群代理访问 EMQX Dashboard 的地址,默认的端口是 18083。由于集群代理与 EMQX 集群安装在同一台服务器上,可以使用内网地址。

apiUrl 为集群代理访问 EMQX REST API 的地址,EMQX v5 默认的 API 端口是 18083。同样可以使用内网地址。

节点配置

节点配置部分的配置信息会自动填充入注册部分的命令,用户拷贝注册命令,在集群代理所在服务器上运行注册命令。同时,ECP 端数据接入页面上该纳管集群的状态将变为“注册中”。一旦注册成功完成,状态将变为“运行中”。

管理运维

通过集群代理成功完成 EMQX 集群的纳管后,ECP 端支持以下运维操作:

查看集群基本信息

集群代理以固定间隔时间(默认间隔15秒)向 ECP 上报 EMQX 集群的最新状态,数据接入页面可以查看到被管理的各个集群最新的基本信息,包括集群的启动时间、集群的创建时间(对纳管集群来说,即为在 ECP 端进行纳管的时间)、集群版本、集群包含的节点数量、集群的总连接数和允许的最大连接数

跳转到集群 Dashboard

如果在创建集群纳管入口时已配置好集群服务地址,那么成功纳管后数据接入页面将出现“进入 Dashboard”选项,点击即可免登录自动跳转到相应的集群服务地址。

进入 Dashboard

监控集群实时运行状态

点击工作台左侧菜单栏中的监控运维监控,并切换到数据集成监控标签页,可查看当前项目下被纳管集群的实时运行状态。

`数据集成监控`标签页

监控页面上方是基础的统计信息,包括项目中所有纳管集群的总连接数、在线连接数、总规则数、运行和停止状态的规则数、总连接器数、已连接和断开连接状态的连接器数。

页面下方是非正常状态下的规则、连接器的详细信息,用户可以通过集群名称进行过滤查看,也可以通过操作栏中的“详情”按钮,跳转到集群 Dashboard 相应的规则/连接器页面,处理异常状态的规则/连接器。

监控集群规则及连接器异常告警

ECP 支持对集群中的规则异常和连接器异常发出告警通知。系统管理员或组织/项目管理员需要提前对项目的进行告警设置以激活集群告警:

1、点击工作台左侧菜单栏中的监控运维告警,进入告警页面

2、切换到告警设置标签页,编辑并打开告警状态滑动开关。根据实际需求设置其他的配置项。

3、切换到告警规则配置标签页,在云端集群部分,对告警触发次数、告警恢复次数、告警级别进行相应的设置。

4、如果希望集群告警发生时,告警信息可以实时推送给相关人员,可以在告警推送标签页下配置 email 或 webhook,请确保「EMQX 告警推送」选项已开启。

告警设置

当发生集群规则或连接器异常的时候,告警列表中将会实时展示异常的相关信息,并在异常恢复后自动移入历史告警列表,用户也可以在确认异常已解除或不再需要时手动移除。

修改集群的最大连接数

ECP 纳管 EMQX v5 集群后,会自动设置纳管集群的初始最大连接数为 10。如果需要调整部分纳管集群的最大连接数,可以点击集群...按钮,打开更多操作菜单,通过「修改连接数」操作进行。在修改时请关注提示信息,了解 ECP 许可证允许的连接数总配额及单集群最大连接限制,在合理范围内指定连接数。

修改集群最大连接数

完成最大连接数调整后,用户跳转到集群 Dashboard 的 License 界面,查看到的将是更新后的 License 使用情况。请注意,被纳管的集群由 ECP 统一管理最大连接数,因此即使在集群 Dashboard License 界面重置或更新其他 License,也会被 ECP 自动设置回在 ECP 上指定的最大连接数。

查看集群日志

ECP 的统一日志功能中也提供纳管集群日志查询的功能。该功能需要对接第三方的 Elasticsearch 日志服务器,同时在集群代理注册节点时需额外提供配置项进行日志功能的开启:

1、在系统管理界面,点击系统设置通用配置日志接收器,在类型中选择「开启」,并设置外接 Elasticsearch 服务器的连接信息,通过测试后保存。

2、在纳管集群过程中,拷贝集群注册引导页面上的注册命令时,在命令的最后加上参数:--emqx-log-collection-enabled --emqx-log-collection-dir /opt/emqx/log。其中 /opt/emqx/log 为集群日志所在的文件夹的位置。如果集群是使用 docker 方式安装的,建议提前配置好集群的日志映射路径。

开启纳管集群的日志功能后,在工作台的日志页面,可查看到当前项目下相应集群的日志信息。

向其他项目转移集群

系统管理员或组织/项目管理员可以在具备管理权限的项目之间转移纳管的集群。在需要被移动的集群上,点击...按钮,并选择转移操作,然后在弹出的对话框中,选择要转移到的目标项目。

取消纳管

如果不再需要 ECP 对某个集群进行统一管理,可以运行集群代理的取消注册命令:在集群代理所在的服务器上,运行sudo /usr/local/bin/emqxee-agent。取消注册后,ECP 端该集群入口状态变为“已创建”,后续如果希望恢复纳管,重复上述注册步骤即可。

也可以在 ECP 端点击...按钮,并选择删除操作,该操作在取消纳管后,同时也会删除 ECP 端的纳管集群入口。请注意如果集群处于“异常”状态,删除操作无法保证成功。

常见问题

Q:如果 ECP 或集群 Dashboard 使用 HTTPS,可以在纳管集群的过程中跳过 tls 证书验证吗?

A:如果希望跳过 ECP 及 EMQX 的 tls 证书验证,可以在注册集群代理时,在注册命令最后加上参数:--insecure-skip-verify

Q:如果集群由多个节点组成,需要在每个节点上分别安装集群代理吗?

A:纳管多节点 EMQX 集群,只需要在其中一个节点的服务器上安装并注册集群代理,即可完成对整个集群的纳管。

Q:可以使用同一个集群代理管理多个集群吗?

A:不可以。ECP 端纳管集群入口 - 集群代理 - EMQX 集群这三者需为一一对应的关系。

Q:如果某个已被纳管的集群无法恢复正常运行,在 ECP 端始终处于异常状态,如何在 ECP 端删除这个被纳管的集群?

A:先尝试运行集群代理的取消注册命令。如果取消注册命令也无法成功,可以在该纳管集群的操作选项中选择“重新注册”,将入口重新绑定到一个可以正常运行的集群上(也就是用同一个纳管集群入口去纳管一个其他的集群),后续再进行删除操作。

Q:纳管过程中出现的其他问题,如何定位?

A:在集群代理所在服务器上,查看代理日志 /opt/emqx/log/agent.log

结语

上文介绍了 EMQX ECP 纳管 EMQX 集群的步骤及实际运维操作。用户可以在 ECP 界面上对集群进行统一管理,包括修改集群最大连接数、集群转移、删除等操作,以及集群信息概览、集群监控、集群告警和集群日志等可视化功能,从而简化运维复杂度,提升数据分析能力,提升运维管理效率。

咨询 EMQ 技术专家
联系我们 →