EMQX 提供了一个内置的管理控制台,即 EMQX Dashboard 。方便用户通过 Web 页面就能轻松管理和监控 EMQX 集群,并配置和使用所需的各项功能。
历经多个大版本迭代,EMQX 在最新发布的 5.0 版本中带来了全新 UI 设计风格的 EMQX Dashboard。该版本优化了关键数据和指标数据的显示方式与内容,在提升视觉体验的同时,也提供了更全面、强大、易用的内置功能,如对于连接、订阅和发布时的认证与权限管理,支持使用数据桥接并搭配规则引擎进行数据集成转化等。使用浏览器来快速便捷访问的方式,为用户使用 EMQX 进行更多物联网业务开发提供了便利。
本文将带领大家一睹新版 EMQX Dashboard 的全貌,通过对其重点功能的详细解读,帮助大家深入了解基于新版 Dashboard 的 EMQX 如何助力高效开发,同时还将带大家快速上手使用这款强大的 MQTT 服务器管理控制台。
全新面貌
全新 UI / UX 设计:实时可观测性大幅提升
EMQX 5.0 的 Dashboard 使用了全新的 UI 设计风格。我们主要优化了各类页面的样式,增强了查看数据的可视化能力。通过更加突出的系统主题,以及支持明亮与暗黑风格主题的切换,将数据更加清晰地展示给用户。
例如下图中所示,我们将一些使用 EMQX 时的关键数据,如连接数订阅数、消息量、消息速率和集群状态等,在首页概览中进行了可视化图表的实时展示。用户可以在 Dashboard 内更加直观地了解到当前系统集群内的数据状态变化。
随着 EMQX 5.0 单集群 1 亿连接的达成 ,EMQX Dashboard 的数据监控与分析查看职能也配合着 EMQX 性能提升实现了同步升级:对于将整个集群内的所有节点状态信息、连接、主题和消息量数据,都能轻松描绘并展示,用户也可以根据数据随时间变化的统计图来更加快速、可靠地访问与查看关键指标数据。
针对 UI / UX 设计的升级,除了丰富的样式结构,还保持了功能的完整性和使用的简易性。用户除了可以通过使用基础的 HTTP API、命令行工具和配置文件等方法外,还能从带有 GUI(图形化界面)的人机交互中更好地了解和使用 EMQX,从而为其物联网应用创造更大的价值。
菜单结构优化:快速直达访问内容
我们根据用户普遍的使用顺序和习惯对菜单的功能分布进行了重新规划和整理,描绘出了这样一个使用故事:
- 用户进入到 Dashboard 后首先需要通过
仪表板
首页查看使用数据,然后进行客户端或设备连接,实现连接管理
、主题订阅
; - 验证完成基本操作后,需要通过配置认证与权限,进行
访问控制
,以保证接入数据或使用的安全性; - 有了数据接入之后就可以进行
数据集成
,将其进行处理转化后再分发到不同的业务数据系统中; - 此时用户应该对 EMQX 使用已经有了基本了解,就可以对一些特定场景和需求进行
功能配置
,例如对于 MQTT 协议中的 Session 配置,保留消息使用等; - 如果有更多不同的需求和应用场景,就可以通过
插件扩展
使用网关扩展协议连接,使用插件和 Hooks 来增强系统应用,以完成符合自己的业务需求的功能扩展; - 当然,在使用时难免会遇到一些问题,在
问题分析
中我们提供了日志追踪、慢订阅查询、主题监控和 WebSocket 客户端等功能来发现追踪并解决使用过程中的问题; - 此外,还可以通过
系统设置
进行中英多语言和系统主题色等的个性化设置,新增和管理不同的用户来访问和使用 EMQX Dashboard,申请使用 API 时的所需要的密钥等功能。
当前 EMQX Dashboard 使用菜单的整体排布
强大功能
新版 Dashboard 聚合了更多强大便捷的功能,包括认证与授权的在线管理、数据集成与 Flow 可视化编排、各类扩展插件,以及问题查询分析工具等。用户在一个 Dashboard 界面,就可以轻松完成开发过程中不同环节所需的工作。
数据监控与管理:重要数据一目了然
如前文所提到的,EMQX Dashboard 仪表盘首页提供了运行中 EMQX 集群连接数、订阅主题数、消息收发与消息丢弃数量的查看,同时也支持实时监控消息流入流出速率,查看一定时间范围内的数据图表和集群中节点的拓扑图显示,点击每个节点则可以进一步查看当前节点的一些基础信息。
在节点页面,用户可以查看节点列表,了解当前节点的运行状态、运行时长和内存使用信息等,还可以点击节点名称查看更为详细的节点信息,用来监控节点的健康状况;在指标页面,用户可以查看集群或每个节点下一些使用过程中的指标数据,包括针对连接、会话、认证授权与消息收发流量等的统计信息。这些均使用户对于当前集群节点的情况有了全面清晰的掌控。
除此之外,在连接管理页面中为用户提供了对于使用过程中连接到 EMQX 的客户端或设备的监控和管理功能,支持使用客户端 ID、用户名、节点等信息来过滤出想要查看的客户端连接。点击客户端 ID 可以进一步查看连接详情,包括连接状态、连接时间、IP 地址、Keep Alive 等客户端信息,以及当前客户端的订阅列表等。在订阅主题列表中,可以查看当前 EMQX 内所有的订阅列表和主题列表。
注:订阅列表是根据客户端来区分的,而主题是当前所有已经订阅过的主题,相同的主题可能包含在不同的客户端。
可视化管理访问控制:开箱即用的认证授权管理
在最新版本中,用户仅通过用户界面,就可以快速实现客户端认证授权机制的配置,无需编写代码或手动编辑配置文件,即可对接各类数据源与认证服务,实现各个级别与各类场景下的安全配置,以更高的开发效率获得更安全的保障。
认证方式支持选择用户名或客户端 ID 加密码认证、JWT 配置以及 MQTT 5.0 中的增强认证功能。认证数据源信息可以选择 EMQX 的内置数据库存储和主流数据库,如 MySQL、MongoDB、PostgreSQL、Redis,也可直接使用 HTTP 服务。
对于发布和订阅时的权限校验配置,支持在页面内直接编辑 ACL 文件,或使用内置数据库,同样也支持直接使用 MySQL、MongoDB、PostgreSQL 和 Redis 等主流数据库来存储和配置授权信息。
详情请查看:《灵活多样认证授权,零开发投入保障 IoT 安全》
强大数据集成能力:Flow 可视化编排与双向数据桥接
作为 EMQX 为物联网数据基础设施构建提供的最重要能力之一,数据集成帮助用户将所有的业务数据无需额外编写代码即可快速完成处理与分发。
EMQX 5.0 还提供了数据集成可视化查看能力(Flows)。通过 Dashboard 页面,用户可以清晰看到 MQTT 数据是如何通过规则处理,以及数据如何流向外部数据服务或设备。后续版本还将支持在 Dashboard 上以拖拽的方式编排规则和数据桥接(Flow Editor),通过可视化界面将物联网与硬件数据流轻松连接在一起。
详情请查看:《全新物联网数据集成:Flow 可视化编排 & 双向数据桥接》
在线配置更新:保存即刻生效的配置热更新
配置是使用 EMQX 的主要方法之一,相较于使用配置文件来说,EMQX 5.0 中在用户页面内就能实现配置快速修改和保存无疑是更加方便的。针对每一项配置均通过特定的选项或使用限制提供注解参考,有效使用交互来保证修改配置的正确性,满足使用需求。
在功能配置页面,我们提供了针对于监听器的配置,用户可以根据不同的网络环境端口修改等需求,添加不同类型的监听器,或直接在原有内置的监听器上进行修改。支持对于 MQTT 协议的相关配置,例如超时时间、最大报文大小、最大 QoS 等级、会话、保留消息、系统主题等。还支持包括日志信息的相关配置修改和集成到外部监控服务的配置等。
自定义扩展能力:内置网关、插件和 Hooks
在 EMQX 5.0 之前,非 MQTT 协议的接入分别由不同的接入插件实现,这些插件之间存在设计和实现上差异,对于部分用户来说使用起来不是十分友好。 在 5.0 版本中,EMQX 为其定义了统一的概念和操作模型以降低使用难度。内置了 CoAP、ExProto、LwM2M、MQTT-SN 和 STOMP 协议连接的扩展,用户只需要在 Dashboard 配置相关信息,开启即可以使用相应的客户端通过以上协议连接到 EMQX。
同时新版 Dashborad 上还提供了各类自定义插件安装、配置钩子(Hooks)拦截模块间的函数调用、消息传递、事件传递来修改或扩展系统功能等。
更加全面的诊断工具:及时发现问题并解决
在 EMQX 5.0 Dashboard 中,我们提供了一些调试工具来帮助用户调试和排查使用时遇到的错误和问题,并让用户能够最终解决问题。除了可以通过一个在线的 MQTT over WebSocket 客户端连接、发布订阅来调试外,还支持使用如主题监控、慢订阅查询、在线日志追踪、查看告警列表等方法。在线日志追踪可以针对指定 ClientID 或 Topic 或 IP 实时过滤日志,通过 Dashboard 查看实时日志相比较于基于线上查看日志文件更加方便和有效。慢订阅查询可以按照消息传输的耗时,从高到低对订阅者进行排名,点击慢的订阅者的 Client ID 来显示详情后分析和查找原因。
这些工具都可以有效帮助用户诊断和调试客户端的不规则行为,从而避免或及时解决发现的错误与问题。
简单易用的 MQTT Dashboard
EMQX Dashboard 的访问也非常简单方便,支持在浏览器内访问,默认监听 18083 端口。只要成功安装并部署好 EMQX,无论是什么样的操作系统和环境下,只要可以支持使用浏览器的,都可以通过打开 http://localhost:18083 地址来访问和使用 EMQX Dashboard。
注:如非本机部署的 EMQX,需要将 localhost 替换为实际的 IP 地址。
接下来我们将简单演示一个使用 MQTT 客户端连接到 EMQX 订阅和发布消息后,在 Dashboard 中监控数据变化、查看连接客户端的例子,来帮助读者对如何使用 EMQX Dashboard 进行 EMQX 的管理和监控有更加清晰的认识。
首次安装和部署 EMQX 的用户,浏览器打开 Dashboard 后可以使用默认用户名 admin
和默认密码 public
来进行登录使用。
首次登录后,系统会自动检测到您正在使用默认用户名和密码登录,并会强制要求修改默认密码,这有利于访问 Dashboard 的安全性提升,注意修改的密码不能与原密码相同,且不建议再次使用 public 做为登录密码。
进入 EMQX Dashboard 页面后,我们使用 MQTT X 客户端工具来模拟和演示设备连接到 EMQX。订阅一个 t/#
的主题,发送几条消息。
我们在概览页面就可以观察到当前连接、主题和消息等相关数据实时的发生了变化。
进入到左侧菜单中的连接管理,可以在该页面下查看到已经连接上来的客户端列表信息,包含连接时间、IP 地址、连接用户名、连接状态和心跳时间等,支持在列表中踢除连接,在列表顶部,可以针对连接信息进行过滤查询。点击客户端 ID 进入到连接详情,查看更多关于连接数据的信息,包括连接和会话时的信息、收发流量统计、已订阅的主题等。
进入到订阅主题的管理页面中,可以查看到刚刚连接上来的客户端的订阅主题。
结语
EMQX Dashboard 是基于 EMQX 所提供的强大且全面的 HTTP API 所构建、结合用户使用习惯来设计与开发的一个 Web 应用,旨在帮助用户更好地管理和使用 EMQX。虽然在不启用 Dashboard 的情况下也可以正常体验到 EMQX 的强大功能特性,但对于更习惯使用图形化界面操作的用户来说,Dashboard 提供了一种使用体验更佳的使用选择。
全新 EMQX 5.0 Dashboard 无论是在样式交互还是功能特性方面的优化提升,都进一步加强了 EMQX 的易用性。对于数据的可视化展现与监控管理能力、高效便捷的数据集成能力、灵活多样的认证授权管理能力、满足个性化需求的自定义扩展能力、对于问题故障的诊断能力…….用户只需通过一个 Dashboard 即可「玩转」EMQX 的诸多强大功能,轻松应对不同的场景下的各类业务需求,打造具有竞争力的物联网平台与应用。