A real time dashboard including statistical detail that provides the pulse of the messaging activity
204
Where to get help: Contact RoboMQā , Documentationā , Videosā , Blogsā
Maintained by: RoboMQā
RoboMQā is Hybrid Integration Platformā (HIP) that is built to integrate IoT, SaaS applications, cloud and on premise systems in a truly distributed and highly scalable business workflows across networks and clouds. RoboMQ is built with Docker and microservices architecture for the enterprise applications and businesses of today. Key differentiation of RoboMQ are :
RoboMQā provides added components on the top of core AMQP 0-9-1 broker based built on the strengths of rabbitmqā . RoboMQ offers added components that are built with message oriented middleware and microservices architecture. The core broker and all the value added components are packaged as docker containers. The value added components provide capabilities like Messaging dashboard, Quboid smart container, API gateway, API layer, Error Analytics and exception handlers, Event Logging, and health checks and on demand diagnostics, Mission Control.

Real time dashboard including statistical information that provides the pulse of the messaging activity, message rates, number of clients connections, messages in the queues, and the delivery and publish rates.
RoboMQ Messaging Dashboard is pre-configured and built upon Grafana, an open source metric analytics & visualization suite. It is most commonly used for visualizing time series data.
It has 2 important components.
Ensure the following ports are open on the network for Monitor-ui and InfluxDB. Port 3000 is used to access messaging dashboard and InfluxDB port is used by application to get information from InfluxDB. If the broker runs behind a firewall which blocks these ports, you will need to either change firewall rules to unblock the ports, or switch to an available port permitted by firewall:
InfluxDB is a time series database built from the ground up to handle high write and query loads. It is the second piece of the TICK stack. InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics.
The InfluxDB image exposes a shared volume under /var/lib/influxdb, so you can mount a host directory to that point to ensure container data is persisted similar to the RoboMQ broker setup above. The following command creates the InfluxDB container with persisted storage and creates an admin user required to allow access from the RoboMQ Monitor to store messaging data. See https://docs.docker.com/samples/library/influxdb/ā for full documentation.
$ docker run --name=influxdb -d -p 8083:8083 -p 8086:8086 -e INFLUXDB_DB=System -e INFLUXDB_ADMIN_ENABLED=true -e INFLUXDB_ADMIN_USER=root -e INFLUXDB_ADMIN_USER=root123 -v <path-to-host>:/var/lib/influxdb influxdb:latest influxd
$ curl -XPOST http://root:root123@<your host IP>:8086/query --data-urlencode "q=CREATE DATABASE admin"
$ curl -XPOST http://root:root123@<your host IP>:8086/query --data-urlencode "q=CREATE USER admin WITH PASSWORD 'admin123'"
$ curl -XPOST http://root:root123@<your host IP>:8086/query --data-urlencode "q=GRANT READ on admin TO admin"
The RoboMQ Messaging Dashboard image exposes a shared volume under /var/lib/grafana, so mount a host directory to that point to ensure container data is persisted similar to the RoboMQ broker and InfluxDB setup above. The following command creates the Monitor-ui container with volume mounted to host for persisted storage of your user and dashboard data.
$ docker run -d --name monitor-ui -p 3000:3000 -e INFLUXDB_HOST=<InfluxDB Host IP> -e INFLUXDB_PASSWORD=admin123 -v <path-to-host>:/var/lib/grafana --restart always robomq/monitor-ui:latest
You can choose a different container name by changing theĀ --name option.
Provision your Messaging Dashboard admin user for access to your messaging activity data.
$ docker exec -it monitor-ui sh -c 'provision_user.sh'
You should see output similar to below indicating successful creation of your admin user dashboard.
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Date: Fri, 22 Dec 2017 20:50:41 GMT
Content-Length: 33
{"id":2,"message":"User created"}
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Date: Fri, 22 Dec 2017 20:50:41 GMT
Content-Length: 52
{"id":1,"message":"Datasource added","name":"admin"}
HTTP/1.1 200 OK
Content-Type: application/json
Date: Fri, 22 Dec 2017 20:50:41 GMT
Content-Length: 55
{"slug":"administrator","status":"success","version":1}
URL : http://<your host IP>:3000
Login credential : admin/admin123
The web interface would look similar to below. If you initially do not see a dashboard button labeled "Administrator". There should be a drop down menu at the top left hand corner labeled "Home". Click that drop down and select "Administrator".

$ docker ps -f name=<container name>
$ docker restart <container name>
$ docker stop <container name>
$ docker rm -v <container name>
$ docker logs <container name>
Content type
-
Digest
Size
301.1 MB
Last updated
almost 9 years ago
docker pull robomq/monitor-ui