emqx/apps/emqx_dashboard
Thales Macedo Garitezi 917575de5a
chore(mix): minimal elixir mix release build
This commit enables a minimal working build of EMQX release using
Mix.  However, to properly start the release, several configuration
steps are still missing.  A `mix_release.sh` script does a few hacks
to get the release built with Mix to start properly, by first assuming
that `make emqx` has been run prior to the release, ran once to
generate the `app.*.config` files, and then it copies that and some
other files to the expected places.

Also, `emqx_telemetry` hangs the start procedure because it thinks
it's in an official release and tries to make a request.  We disable
it temporarily via config just to get a working build for now.
2021-12-21 13:51:22 -03:00
..
etc feat: support CORS request 2021-11-11 20:27:39 +08:00
include Fix dashboard APIs return (#6177) 2021-11-18 14:36:12 +08:00
src fix(dashboard): enable dashboard by default 2021-12-17 11:20:23 +08:00
test fix(monitor): fix return value on badrpc 2021-12-14 17:56:32 -03:00
.gitignore chore: move lib-ce to apps 2021-06-15 17:31:54 +08:00
mix.exs chore(mix): minimal elixir mix release build 2021-12-21 13:51:22 -03:00
README.md chore: rename acl to authz 2021-07-26 16:10:33 +08:00
rebar.config feat(swagger): swagger support hocon schema 2021-09-21 21:41:16 +08:00

emqx-dashboard

Dashboard for the EMQ X Broker.

REST API

The prefix of REST API is '/api/v4/'.

Method Path Description
GET /nodes/ A list of nodes in the cluster
GET /nodes/:node Lookup a node in the cluster
GET /brokers/ A list of brokers in the cluster
GET /brokers/:node Get broker info of a node
GET /metrics/ A list of metrics of all nodes in the cluster
GET /nodes/:node/metrics/ A list of metrics of a node
GET /stats/ A list of stats of all nodes in the cluster
GET /nodes/:node/stats/ A list of stats of a node
GET /nodes/:node/clients/ A list of clients on a node
GET /listeners/ A list of listeners in the cluster
GET /nodes/:node/listeners A list of listeners on the node
GET /nodes/:node/sessions/ A list of sessions on a node
GET /subscriptions/:clientid A list of subscriptions of a client
GET /nodes/:node/subscriptions/:clientid A list of subscriptions of a client on the node
GET /nodes/:node/subscriptions/ A list of subscriptions on a node
PUT /clients/:clientid/clean_authz_cache Clean Authorization cache of a client
GET /configs/ Get all configs
GET /nodes/:node/configs/ Get all configs of a node
GET /nodes/:node/plugin_configs/:plugin Get configurations of a plugin on the node
DELETE /clients/:clientid Kick out a client
GET /alarms/:node List alarms of a node
GET /alarms/ List all alarms
GET /plugins/ List all plugins in the cluster
GET /nodes/:node/plugins/ List all plugins on a node
GET /routes/ List routes
POST /nodes/:node/plugins/:plugin/load Load a plugin
GET /clients/:clientid Lookup a client in the cluster
GET nodes/:node/clients/:clientid Lookup a client on node
GET nodes/:node/sessions/:clientid Lookup a session in the cluster
GET nodes/:node/sessions/:clientid Lookup a session on the node
POST /mqtt/publish Publish a MQTT message
POST /mqtt/subscribe Subscribe a topic
POST /nodes/:node/plugins/:plugin/unload Unload a plugin
POST /mqtt/unsubscribe Unsubscribe a topic
PUT /configs/:app Update config of an application in the cluster
PUT /nodes/:node/configs/:app Update config of an application on a node
PUT /nodes/:node/plugin_configs/:plugin Update configurations of a plugin on the node

Build

make && make ct

Configurtion

dashboard.listener = 18083

dashboard.listener.acceptors = 2

dashboard.listener.max_clients = 512

Load Plugin

./bin/emqx_ctl plugins load emqx_dashboard

Login

URL: http://host:18083

Username: admin

Password: public

License

Apache License Version 2.0