Dashboard

简介

EMQX 提供了 Dashboard 以方便用户管理设备与监控相关指标。通过 Dashboard,你可以查看服务器基本信息、负载情况和统计数据,可以查看某个客户端的连接状态等信息甚至断开其连接,也可以动态加载和卸载指定插件。除此之外,EMQX Dashboard 还提供了规则引擎的可视化操作界面,同时集成了一个简易的 MQTT 客户端工具供用户测试使用。

启用 Dashboard

EMQX Dashboard 功能由 emqx-dashboardDashboard - 图1 (opens new window) 插件实现,该插件默认处于启用状态,它将在 EMQX 启动时自动加载。如果你希望禁用 Dashboard 功能,你可以将 data/loaded_plugins(请参见 插件)中的 {emqx_dashboard, true} 修改为 {emqx_dashboard, false}

  1. {emqx_dashboard, true}.

查看 Dashboard

EMQX Dashboard 是一个 Web 应用程序,你可以直接通过浏览器来访问它,无需安装任何其他软件。

当 EMQX 成功运行在你的本地计算机上且 EMQX Dashboard 被默认启用时,你可以访问 http://localhost:18083 来查看你的 Dashboard,默认用户名是 admin,密码是 public

配置 Dashboard

您可以在 etc/plugins/emqx_dashboard.conf 中查看或修改 EMQX Dashboard 的配置,注意此处的 etc 并非指系统目录,请参见 目录结构

EMQX Dashboard 配置项可以分为默认用户监听器两个部分:

默认用户

EMQX Dashboard 可以配置多个用户,但在配置文件中仅支持配置默认用户。

需要注意的是,一旦您通过 Dashboard 修改了默认用户的密码,则默认用户的相关信息将以您在 Dashboard 上的最新改动为准,配置文件中的默认用户配置将被忽略。

监听器

EMQX Dashboard 支持 HTTP 和 HTTPS 两种 Listener,但默认只启用了监听端口为 18083 的 HTTP Listener,关于 Listener 的介绍请参见 配置说明

关于 Dashboard 的详细配置项说明,请参见 配置项

Dashboard 界面

为了使用户在操作和浏览中可以快速地定位和切换当前位置,EMQX Dashboard 采用了侧边导航的模式,默认情况下 Dashboard 包含以下一级导航项目:

导航项目说明
MONITORING提供了服务端与客户端监控信息的展示页面
RULE ENGINE提供了规则引擎的可视化操作页面
MANAGEMENT提供了扩展插件与应用的管理页面
TOOLS提供了 WebSocket 客户端工具以及 HTTP API 速查页面
ADMIN提供了 Dashboard 用户管理和显示设置等页面

MONITORING

EMQX Dashboard 提供了非常丰富的数据监控项目,完整地覆盖了服务端与客户端,这些信息都将在 MONITORING 下的页面中被合理地展示给用户。

Overview

Overview 作为 Dashboard 的默认展示页面,提供了 EMQX 当前节点的详细信息和集群其他节点的关键信息,以帮助用户快速掌握每个节点的状态。

image

Clients

Clients 页面提供了连接到指定节点的客户端列表,同时支持通过 Client ID 直接搜索客户端。除了查看客户端的基本信息,您还可以点击每条记录右侧的 Kick Out 按钮踢掉该客户端,注意此操作将断开客户端连接并终结其会话。

Clients 页面使用快照的方式来展示客户端列表,因此当客户端状态发生变化时页面并不会自动刷新,需要您手动刷新浏览器来获取最新客户端数据。

image

如果你无法在客户端列表获取到你需要的信息,你可以单击 Client ID 来查看客户端的详细信息。

image

我们将客户端详情中的各个字段分为了 连接会话指标 三类,以下为各字段的说明:

连接

字段名说明
Node客户端连接的节点名称
Client ID客户端标识符
Username客户端连接时使用的用户名,出于安全性考虑,密码将不会被展示
Protocol客户端使用的协议名称及其版本
IP Address客户端的网络 IP 地址,地址可以是 IPv4 或 IPv6
Port客户端源端口
Is Bridge指示客户端是否通过桥接方式连接
Connected At客户端连接时间
Disconnected At客户端离线时间
Connection Status客户端连接状态
Zone指示客户端所使用的配置组
Keepalive保持连接时间,单位:秒

会话

字段名说明
Clean Session指示客户端是否使用了全新的会话
Expiry Interval会话过期间隔,单位:秒
Created At会话创建时间
Subscriptions Count当前订阅数量
Maximum Subscriptions Count允许建立的最大订阅数量
Inflight Window Size当前飞行窗口大小,请参见 飞行窗口与消息队列
Maximum Inflight Window Size飞行窗口最大大小
Message Queue Size当前消息队列大小,请参见 飞行窗口与消息队列
Maximum Message Queue Size消息队列最大大小
Uncomfirmed PUBREC Packets未确认的 PUBREC 报文数量
Maximum Uncomfirmed PUBREC Packets允许存在未确认的 PUBREC 报文的最大数量

指标

字段名说明
Number of Bytes ReceivedEMQX Broker(下同)接收的字节数量
Number of TCP Packets Received接收的 TCP 报文数量
Number of MQTT Packets Received接收的 MQTT 报文数量
Number of PUBLISH Packets Received接收的 PUBLISH 报文数量
Number of Bytes Sent发送的字节数量
Number of TCP Packets Sent发送的 TCP 报文数量
Number of MQTT Packets Sent发送的 MQTT 报文数量
Number of PUBLISH Packets Sent发送的 PUBLISH 报文数量

在客户端详情的 Subscriptions 标签页中,您可以查看当前客户端的订阅信息,以及新建或取消订阅:

image

Subscriptions

Subscriptions 页面提供了指定节点下的所有订阅信息,并且支持用户通过 Client ID 查询指定客户端的所有订阅。

image

RULE ENGINE

使用 EMQX 的规则引擎可以灵活地处理消息和事件,例如将消息转换成指定格式后存入数据库表或者重新发送到消息队列等等。为了方便用户更好地使用规则引擎,EMQX Dashboard 提供了相应的可视化操作页面,您可以点击 RULE ENGINE 导航项目来访问这些页面。

鉴于规则引擎的相关概念比较复杂, 涉及到的操作可能会占据相当大的篇幅,考虑到您的阅读体验,我们将通过额外的文档来介绍规则引擎,请参见 规则引擎

MANAGEMENT

目前 EMQX Dashboard 的 MANAGEMENT 导航项目下主要包括扩展插件(请参见 插件)的监控管理页面和用于 HTTP API 认证的 AppID 与 AppSerect(请参见 HTTP API)的管理页面。

Plugins

Plugins 页面列举了 EMQX 能够发现的所有插件,包括 EMQX 官方插件与您遵循 EMQX 官方标准自行开发的插件,您可以在此页面查看插件当前的运行状态以及随时启停插件。

image

您可以看到,除了 emqx-dashboardDashboard - 图8 (opens new window) 以外,EMQX 还将默认启动 emqx-rule-engineDashboard - 图9 (opens new window) 等 4 个插件:

image

Applications

Applications 页面列举了当前已创建的应用,您可以在此页面进行诸如创建应用、临时禁用或启动某个应用的访问权限等操作。EMQX 会创建一个 AppID 为 admin,AppSecret 为 publish 的默认应用方便用户首次访问:

image

您可以点击 Application 页面右上角的 New App 按钮来创建一个新的应用,其中 AppID 与 AppSecret 是必选项。创建完成后您可以点击 View 按钮来查看应用详情,AppSecret 也会在详情中显示。以下是相关字段的说明:

字段名说明
AppID应用标识符,用于区分不同的应用,因此不可重复,在创建应用时 Dashboard 将自动为你生成一个随机的建议应用标识符
AppName应用名称,可以重复,但为了方便您自己使用,我们不建议使用重复的应用名称
AppSecret由 EMQX 分配的应用密钥,可以在应用详情中查看
Expired date应用的过期时间,默认为永不过期
Remark您对应用的描述,方便后期管理
Status应用状态,只有 Allowed 与 Denied 两种,Denied 状态下 EMQX 将拒绝使用该 AppID 与 App Secret 的 HTTP API 的访问请求

TOOLS

目前 EMQX Dashboard 的 TOOLS 导航项目下主要包括 WebSocket 客户端工具页面以及 HTTP API 速查页面。

Websocket

Websocket 页面为您提供了一个简易但有效的 WebSocket 客户端工具,它包含了连接、订阅和发布功能,同时还能查看自己发送和接收的报文数据,我们期望它可以帮助您快速地完成某些场景或功能的测试验证:

image

HTTP API

HTTP API 页面列举了 EMQX 目前支持的所有 HTTP API 及其说明:

image

ADMIN

Users

您可以在 Users 页面查看和管理能够访问和操作 Dashboard 的用户:

image

Settings

目前 EMQX Dashboard 仅支持修改主题和语言两种设置:

image

Help

如果您在使用 EMQX 的过程中遇到了任何问题,我们在 Help 页面为您提供了 FAQ 等文档的链接。如果我们现有的文档依然无法解决您的问题,您可以前往我们在 Github 的开源社区咨询我们的技术人员。

image