Service Monitoring

An observability console with an icon rail and a live status ribbon: a service-health grid with status dots and latency/uptime, a latency line chart, a request-volume area chart, a 30-day uptime bar strip, and a recent-events feed. A 1h/24h/7d tab control live-swaps the chart data.

PRO

Dashboard12: Service Monitoring

A service monitoring dashboard for observability and uptime status: an icon rail, a live status ribbon, a service-health grid with status dots and per-service latency/uptime, a latency line chart, a request-volume area chart, a 30-day uptime bar strip, and a recent-events feed. A 1h/24h/7d range switch built on shadcn/ui Tabs live-swaps the chart data. It is a full-height, drop-in Next.js / React monitoring dashboard template built with shadcn/ui and Recharts.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/dashboard12?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/dashboard12?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/dashboard12.tsx, the Beste chart and menu components it composes (area-chart, line-chart, user-menu), and the shadcn/ui dependencies they need, including tabs.

Quick start

The installed file exports dashboard12Demo alongside the block: the exact props behind the preview above. Spread it to get the full dashboard in one line. The block fills its container height (h-screen), so render it in a full-height layout.

tsx
import { Dashboard12, dashboard12Demo } from "@/components/beste/block/dashboard12";

export default function Page() {
  return <Dashboard12 {...dashboard12Demo} />;
}

Props

Every prop is optional. Omit any and the block falls back to its built-in demo data, so <Dashboard12 /> renders a complete, populated monitoring dashboard out of the box. Pass just the props you want to override.

PropTypeDefaultDescription
brandNamestring"Sentinel"Product name shown in the status ribbon next to the uptime figure
userDashboardUserdemo userIdentity shown in the status-ribbon account menu
userItemsUserMenuItem[]demo itemsRows in the account dropdown menu
servicesService[]demo servicesThe service-health grid cards; drives the "All systems operational" ribbon
latencyDataRecord<Range, LatencyPoint[]>demo seriesLatency line chart series, keyed by range
throughputDataRecord<Range, ThroughputPoint[]>demo seriesRequest volume area chart series, keyed by range
uptimeDaysUptimeState[]demo statesThe 30-day uptime bar strip (oldest first)
incidentsIncident[]demo rowsRows of the Recent events feed
uptimePercentstring"99.96%"Uptime figure shown in the status ribbon and as the 30-day uptime panel headline
incidentsLabelstring"2 incidents"Summary caption under the uptime strip

The block-local data types:

ts
type Range = "1h" | "24h" | "7d";

type ServiceStatus = "operational" | "degraded" | "down";

type Service = {
  name: string;
  status: ServiceStatus; // drives the status dot via statusMeta
  latency: string;       // pre-formatted, e.g. "42 ms"
  uptime: string;        // pre-formatted, e.g. "99.98%"
  icon: LucideIcon;
};

type LatencyPoint = { t: string; p95: number; p50: number };
type ThroughputPoint = { t: string; rps: number };

type UptimeState = "up" | "degraded" | "down"; // one bar per entry, colored by uptimeTone

type Incident = {
  title: string;
  service: string;
  time: string;
  level: "resolved" | "warning" | "critical"; // maps to icon/color via incidentTone
};

type DashboardUser = {
  name: string;
  email: string;
  avatar: string; // image URL, rendered with a plain <img>
};

The remaining prop reuses the interface exported by the composed Beste component:

ts
// from user-menu
type UserMenuItem = {
  id: string;
  label: string;
  icon?: LucideIcon;
  destructive?: boolean; // red row with a separator above it
};

Still internal

A few structural and cosmetic bits stay as constants in the installed file — edit them in place:

Components

This block composes several Beste UI components, each installable on its own:

It also uses the shadcn/ui tabs primitive for the range switch. /components/tabs

Behavior notes

Requirements

More Dashboard blocks

View all Dashboard
PRO

dashboard7

Traffic Analytics

A web-analytics console: sidebar + search topbar, a live realtime strip, an hourly sessions area chart, a daily-goal radial gauge, a channel-audience radar chart, a new-vs-returning line chart, and a sortable top-pages table.

PRO

dashboard3

Commerce Analytics

An e-commerce analytics dashboard: sidebar + search topbar, a four-up KPI row with period deltas, a net-profit area chart, a repeat-rate radial gauge, a busiest-weekday bar chart, and a best-selling products data table.

PRO

dashboard11

Fitness Overview

A health dashboard with a top navigation bar (no sidebar): three activity-ring radial gauges, a steps area chart and a heart-rate line chart, and a recent-workouts list. A Today/Week/Month segmented control live-swaps the chart data and totals.

PRO

dashboard4

Project Workspace

A project-management dashboard: sidebar + search topbar, a four-up project stats row with one highlighted card, a weekly project-analytics bar chart, a reminder card with a start-meeting action, a team-collaboration list, a project-progress radial gauge, and a focus time-tracker card.

PRO

dashboard5

Booking Workspace

A split booking dashboard: a left panel with a top nav, functional tab bar, a Manage menu, a bento of revenue/occupancy/metric tiles and an image, toggleable active-booking cards, and a room-availability timeline; a right rail with a real month calendar (selectable days, booked-day dots) and a time-slotted day agenda.

PRO

dashboard9

Sales Pipeline

A sales-CRM dashboard: sidebar + search topbar, pipeline KPIs, a four-stage kanban board of deal cards with owners and hot-lead flags, a revenue-vs-forecast area chart, a team-quota radial gauge, and a rep leaderboard with progress bars.