Web Dashboard
The embedded web dashboard on port 8080 — cluster health, per-channel throughput, clients, connectors, agents, audit, and live configuration.
The web dashboard is the primary visual surface for a running KubeMQ broker. It's a single-page application served on port 8080 that shows cluster health, per-channel throughput, connected clients, protocol connectors, AI agents, the audit trail, and live configuration.
Overview
The dashboard is an embedded SPA served by the management API. Every number it renders comes from the same metrics collectors that feed the Prometheus exporter and the JSON management endpoints — the dashboard is one view over that data, not a separate source of truth.
The dashboard is read-only for messaging data. Producing and consuming happen through the client SDKs, the REST/gRPC API, or a drop-in connector — never from the UI. The only write paths in the dashboard are control-plane operations: editing or reverting configuration, and managing accounts.
Access
| Property | Value |
|---|---|
| URL | http://<host>:8080 |
| Served by | Management API |
| Bundle | Embedded SPA |
The dashboard is open by default, with no login required. When control-plane authentication is enabled, it requires a session login, and features are gated by the caller's role (viewer / editor / admin). See Security for the account model and roles.
The shell
Common controls appear on every page:
- Left navigation — switches between the sections listed below.
- Time range — selects the window used by all rate charts on the page.
- Refresh interval — auto-refresh rate for live values.
- Theme — light / dark toggle.
- Language — UI localization.
Navigation map
Sections
Overview
The landing page. Aggregate cluster health, total send/receive rates across all patterns, and a connector band summarizing every active protocol connector at a glance. Use it as the daily starting point before drilling into a specific channel or connector.
Channels
One page per messaging family — Events, Events Store, Queues, and Commands / Queries (RPC). Each page lists the channels of that family with their current rates and, where applicable, depth. Clicking a channel opens a detail view with throughput and backlog history over the selected time range, plus the clients attached to it.
Key per-channel values:
- Send / receive rate — current-activity message rate (msg/s).
- Waiting (Queues) — messages ready and waiting for a consumer.
- Delayed (Queues) — messages scheduled for future delivery.
- Clients — connected producers/consumers on the channel.
Clients
Every client connected to the broker: identity, channels in use, and activity. Use it to confirm expected consumers are attached and to spot clients that connected or dropped.
Connectors
One page per drop-in protocol connector — AWS SQS/SNS, Google Pub/Sub, MQTT, AMQP 0-9-1, AMQP 1.0, STOMP, and CloudEvents. Each shares the same shape: connection/link counts, per-operation throughput, error rates, and history charts specific to that protocol's operations. These pages are how you confirm a drop-in connector is receiving client traffic and mapping it onto KubeMQ channels.
Agents
A2A and MCP pages showing registered AI agents, their liveness, and request throughput/latency. See Aiway.
Accounts
Present when control-plane authentication is enabled. Manage user and service accounts, assign roles, and issue/revoke API keys. Gated to the admin role. See Security.
Audit
The audit trail — control, data, and system events — with filtering. The who-did-what record for management and messaging activity. See Audit Logging.
Config
A live view of the effective server configuration, with the ability to change and revert it. A control-plane write path, gated by role. See Security for who can write, and Observability settings for the fields shown.
System
Node and cluster status: per-node health, cluster membership, and liveness. In a multi-node deployment, most metric pages present cluster-wide aggregates while System exposes the per-node breakdown.
How to read the numbers
- Rates are current-activity deltas in messages/second — short spikes under bursty producers are normal; a sustained slope is the signal that warrants action.
- Depths (waiting, delayed, backlog) are point-in-time counts, not rates.
- A rising Waiting count while the receive rate stays flat means consumers are not keeping up. A non-zero Delayed count is intentional scheduling, not a stuck queue.
The same values are exported as Prometheus metrics and available on the JSON management API. See Prometheus Metrics and the Management API.
Related
Observability
Metrics, tracing, logging, audit, and the management API behind every number in the dashboard.
Security
Control-plane authentication, roles, and the account model that gates the dashboard's write paths.
Observability settings
The raw configuration keys shown on the dashboard's Config page.
kmq CLI
Prefer the terminal? Drive the same management API from the command line.
Was this page helpful?
Data Models
JSON schemas for the shared DTOs returned by the KubeMQ management API — snapshots, families, channels, clients, charts, and monitor transports.
kmq CLI
Drive KubeMQ from the terminal with the kmq command-line client — messaging, observability, contexts, roles, and the installable agent skill.